摘要: C. And Matching 题目描述 给一对数,n和k,让你找 用0 - n-1 的数字组成n/2对,每对& 后相加要等于 k 如果能找到输出n/2对数据,否则输出-1 思路 k=0,只需要构造出(i,n-i-1); 0<k<n-1,只需要构造出 0 + k 即可 , 0&n-1=0 , k&n 阅读全文
posted @ 2022-01-29 18:32 彬腾 阅读(65) 评论(0) 推荐(0)
摘要: P4995 跳跳! 题目 题目大概的意思就是给出你n个石头高度 , 让你求消耗体力最大是多少 思路 ans += 最大的数 如果当前位置是最大的 就找最小的 代码 #include<bits/stdc++.h> using namespace std; #define int long long t 阅读全文
posted @ 2022-01-29 11:52 彬腾 阅读(38) 评论(0) 推荐(0)
摘要: P1106 删数问题 题目 思路 每次删除s[i] > s[i+1]的位置,最后注意去除前导零 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e6 + 10; int a[N] 阅读全文
posted @ 2022-01-29 11:10 彬腾 阅读(36) 评论(0) 推荐(0)
摘要: BFS(宽度优先搜索) 简介 宽度优先搜索(BFS,breadth-First Search)也是一种搜索的手段。是从一个状态开始,总是先搜索离它最近的所有状态,所以对于宽度优先搜索,同一个状态只经过一次,复杂度为O(状态数*转移的方式) BFS的基本思路 它是按照开始状态——>只需一次就可以到达的 阅读全文
posted @ 2021-09-19 17:25 彬腾 阅读(68) 评论(0) 推荐(0)
摘要: DFS(深度优先搜索) 简介 深度优先搜索(DFS,Depth-First Search)是搜索的手段之一。它从某个状态开始,不断的转移状态直到无法转移。然后退回到前一步的状态,继续转移到其他状态,如此不断地重复直到找到最后的解。 样例一 题目 部分和问题 给定整数a1,a2 an,判断是否可以从中 阅读全文
posted @ 2021-09-18 17:39 彬腾 阅读(71) 评论(0) 推荐(0)