随笔分类 - 枚举
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 从小到大枚举x. 看看a/x+b/x是不是大于等于n 是的话。 看看是不是两种蛋糕都能凑一堆。 也即x的最大枚举量是min(a,b) 不然可能有多余的a%x没地方放。(因为它都还没有一堆 【代码】 cpp include usi
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 找出最小的数字的位置。 最近的肯定是相邻的某对。 【代码】 cpp include using namespace std; const int N = 1e5; int n; int a[N+10],mi; int main(
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 二进制枚举要解开哪些环。 把所有和它相关的边都删掉。 对于剩下的联通分量。 看看是不是每一个联通分量都是一条链 每个点的度数都不大于2 不是环。 同时剩余的联通分量的个数x 解开的环的个数y y =x 1才行 满足以上条件即可
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 闰,平,平 平,闰,平 平,平,闰 平,平,平 4种情况都考虑到就好。 可能有重复的情况。 但是没关系啦。 【代码】 cpp include using namespace std; const int N = 24; int
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 可以直接一层循环枚举。 也可以像我这样用一个数组来存y b有哪些。 当然。感觉这样做写麻烦了。。 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test severa
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 1.N/s1 s1 v2的话。 可以想见,如果第二种物品的数量超过了s1的话,显然可以把它占的体积都用来买物品1,因为那样更优。 则我们第二种物品最多只要枚举到s1就可以了。 同理s2 v1 【代码】 cpp / 1.Shoud
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举删除第i个数字。 想想删掉这个数字后会有什么影响? 首先,如果a[i]如果是a[1..i]中最大的数字 那么record会减少1. 其次。 对于任意一个a[j],且i 【代码】 cpp / 1.Shoud it use lo
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 x =y = $\frac{1}{x} $\frac{1}{x}=\frac{1}{k} \frac{1}{y}$ 结合两个式子可以得到 y 【代码】 cpp / 1.Shoud it use long long ? 2.Hav
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 把所有的那些数字打表出来。 逆序枚举就好 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) you
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举一个秤砣的重量不变。 某一个秤砣的重量不变之后。 所有秤砣的重量就固定了。 因为它的兄弟节点的重量要和它一样。 则父亲节点的重量就是这个节点的两倍了。 以此类推可以得到所有节点的重量的值。 第i层应该的重量都是相同的。 用一
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 想一下,感觉最后的结果肯定是从某一段开始,这一段的gcd为1,然后向左和向右扩散的。 则枚举那一段在哪个地方。 我们设这一段中所有的数字都做了一次gcd. 假设在i..j这一段。 则求gcd的顺序是(i,i+1),(i+1,i+
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 三重循环 【代码】 cpp include using namespace std; int a[10]; int main(){ ifdef LOCAL_DEFINE freopen("F:\\c++source\\rush_
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举每一位字母是什么。 从小到大枚举。 然后计算每一位的总贡献是多少。 取最小的那个输出。 【代码】 cpp include using namespace std; const int M = 50; const int N
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举中间那一段从哪里开始、哪里结束就好 注意为空的话,就全是a. 用前缀和优化一下。 【代码】 cpp include using namespace std; const int N = 5e3; string s; int
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举 【代码】 cpp include using namespace std; const int N = 100; char s[N]; int len; bool check(int L) { if (len%L != 0
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用map mmap[100];来记录每一个数据段某个字符串出现的行数,以及用来判断这个字符串在这一段中存不存在。 这里有一个地方要注意,千万不要在未确定这个字符串是否存在之前,调用mmap[i][s],因为这样,不管s存不存在,
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 k=1的时候就是最小值, k=2的时候,暴力枚举分割点。 k=3的时候,最大值肯定能被“独立出来”,则直接输出最大值 【代码】 cpp include define ll long long using namespace st
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 先枚举一个数字的情况。 再枚举两个数的情况就好。 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举每一个串的分割点。 看看左右两个串在不在字符串中即可。 【代码】 cpp include using namespace std; const int N = 12e4; string s; vector v; map mm
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你找到一个各边和坐标轴平行的矩形。使得这个矩形包含至少K个点。 且这个矩形的面积最小。 【题解】 把所有的“关键点“”都找出来。 然后枚举任意两个点作为矩形的对角。 然后看他是不是包含了至少K个点即可。 【代码】
阅读全文

浙公网安备 33010602011771号