CF
CF的做题记录
qq_45958683
这个作者很懒,什么都没留下…
展开
-
【思维构造】CF #633 Div.2 1339B Sorted Adjacent Differences
斤斤计较原创 2020-09-26 11:34:33 · 103 阅读 · 1 评论 -
【队列、模拟】CF #661 Div.3 1399D Binary String To Subsequences
队列、模拟题意:给出一串01序列,分割这一序列,使分割成的序列没有连续的0或1,最少能分割成几个序列,并依次输出每个字符所在的序列编号思路:使用两个队列 q0, q1 分别存储 0 和 1 的下标,使用数组 pos 存储第 i 个字符所在的子序列编号,使用 num 记录当前子序列数量遍历字符串,若字符为 0,则判断队列 q1 是否为空,- 若 q1 不为空,说明当前存在子序列以 1 结尾,不用另外开辟一个子序列,直接接上去就行了。(接上去的操作:取出 q1 队首元素的下标 id原创 2020-08-07 22:47:35 · 161 阅读 · 0 评论 -
【暴力枚举】CF #661 Div.3 1399C Boats Competition
暴力枚举观察数据范围,可以用枚举的方法首先记录重量为 k 的人的数量,num[k]枚举体重和 i,判断哪个体重和对应的组合最多;范围是 2 ~ 2*n(1<=k<=n)枚举第一个人的重量 j,则第二个人的重量为 i - j ;min( num[j], num[i-j] ) 即为该情况下能凑出的最多的组合数对于每一种体重和都计算了2次,例如 min(num[1], num[3-1]) 和 min(num[2], num[3-2])则 cnt / 2 为该体重和下的组合数量对于每一原创 2020-08-06 16:17:11 · 155 阅读 · 0 评论 -
【博弈论】CF #658 Div.2 1382B Sequential Nim
博弈论问题思路:当a[i]>1 先手的人可以选择自己成为 先手 还是 后手;当a[i]=1 先后手一定变化。那么只要有了a[i]>1的情况,则此时的先手就把握住了主动权(选择是否成为后手,还是保持先手。即一定能够获胜)——先手必胜。只是需要判断确定主动权(有了a[i]>1)那时,谁是先手即可。#include <bits/stdc++.h>using namespace std;const int maxn=1e5+7;unsigned long long原创 2020-07-22 11:43:57 · 139 阅读 · 0 评论 -
【思维题】CF #655 Div.2 1372B Omkar and Last Class of Math
分类:思维题意:给出 n,求出满足 a + b = n,且公倍数最小的一组 a, b懒得写题解了,都在图片和代码的注释里了#include <bits/stdc++.h>using namespace std;int main(){ int T; scanf("%d", &T); while(T--){ int n; scanf("%d", &n); // 从最小枚举倍数k 倍数越小,a越大 n原创 2020-08-08 19:55:30 · 121 阅读 · 0 评论 -
【思维题】CF #655 Div.2 1372A Omkar and Completion
思维题题意:输出一个长度为n的数组,满足任意两个数相加不等于其中任意一个数。思路:真的是道思维题想过来就想过来了,想不过来就想吧。。。可以看一下样例2,突然明白了什么。只要让两数之和不出现在数组中即可,并没有要求不能重复,那么就轮流输出 44 和 384 就好了呀;进一步想一下,甚至可以直接输出 1 。。。。。。#include <bits/stdc++.h>using namespace std;int main(){ int T; scanf("%d",原创 2020-08-08 14:03:24 · 142 阅读 · 1 评论 -
【思维、贪心】CF #654 Div.2 1371C A Cookie for You
题意:有两类客人,a, b 两种饼干一类客人有 n 个,吃多的那种饼干,相等吃 b二类客人有 m 个,吃少的那种饼干,相等吃 a有没有一种客人吃的顺序,让所有人都能吃到想要的饼干思路:因为二类客人吃少的那种饼干,所以让二类客人先吃,这样少的一至少,多的一直多。但如果少的那种饼干数量小于 m,就凉凉。然后让一类客人去吃,那么只要饼干总数大于客人总数,一类客人总是够吃。#include <bits/stdc++.h>using namespace std;typedef lo.原创 2020-09-26 11:15:54 · 58 阅读 · 0 评论 -
【思维题】CF #651 Div.2 1370A Maximum GCD
分类:思维题题意:对于 1 <= a < b <= n,求出 a, b 的最大公因数思路:当 a 是 b 的因子,且 a 尽量大的时候,即为所求的情况,a 就是最大公因数。可以想到,如果 n 是偶数,a 最大可以为 n / 2,b = 2 * a = n如果 n 是奇数,a 最大可以为 (n - 1) / 2 = n / 2,b = 2 * a = n .话说最近真的被思维题折磨的不轻,一个是注意从样例中分析,再一个是看看能不能找到规律#include <bi原创 2020-08-08 14:48:08 · 172 阅读 · 0 评论 -
【思维】CF Educational 69 Div.2 1197B Pillars
题意:原创 2020-09-30 20:23:49 · 79 阅读 · 0 评论