
CodeForces
文章平均质量分 78
CodeForces篇
Snow_raw
CF + ATCODE + 牛客 更新机 西安铜牌
展开
-
Nebius Welcome Round (Div. 1 + Div. 2) C 的证明
等价于初始的状态,那么接下去如果令。证明:由等差数列公式我们可以得出。那么又回到了之前的环上,因此若。首先给出结论:最多暴力跑。次即可判断出最终的结果。为偶数,那么至多需要跑。次可以判断出结果,因为。原创 2023-03-13 10:57:15 · 522 阅读 · 0 评论 -
Codeforces Round #848 (Div. 2) D - Flexible String Revisit
即每个位上操作的概率都是。每次操作可选择字符串。原创 2023-02-02 14:32:23 · 742 阅读 · 0 评论 -
Educational Codeforces Round 138 (Rated for Div. 2) E (01BFS)
Educational Codeforces Round 138 (Rated for Div. 2) E. Cactus Wall原创 2022-10-22 16:02:03 · 463 阅读 · 0 评论 -
Educational Codeforces Round 134 (Rated for Div. 2) A - D
Educational Codeforces Round 134 (Rated for Div. 2)原创 2022-08-28 02:14:56 · 190 阅读 · 0 评论 -
Codeforces Round #814 (Div. 2) A - F
CF 814原创 2022-08-17 20:33:48 · 301 阅读 · 0 评论 -
Codeforces Round #810 (Div. 2) D. Rain (线段树差分)
问统计将任意一天天气变成非降雨天,所有地的最大降雨量是否不超过。,用来将同一斜线上的数置于同一水平上比较,得出区间降水最大值。首先本题很明显得知具有差分性,即降雨中心向左右两边以公差。中的某一天不降雨情况下,所有地的降雨最大值是否小于。这可以通过一个线段树实现。,我们开第二棵线段树用来维护三个最大值即。为中心,降雨量向左右两边递减,例如。其余两个分别是上坡与下坡的。天会降雨,每一个降雨天有一个。天都下雨情况下所有降雨中心的。一道恶心了我近一天的题,共。,还是线段树专题做的太少了。的时间复杂度内计算出这。..原创 2022-07-27 11:21:03 · 352 阅读 · 0 评论 -
Educational Codeforces Round 131 (Rated for Div. 2) A - D
CF原创 2022-07-09 03:06:07 · 295 阅读 · 0 评论 -
Codeforces Round #804 (Div. 2) A B C D
CF804原创 2022-07-07 09:58:51 · 428 阅读 · 0 评论 -
Codeforces Global Round 21 C D E
CF原创 2022-06-28 16:17:41 · 320 阅读 · 0 评论 -
CF VP Day2 Codeforces Round #717 (Div. 2) A B C
CF VP Day2 Codeforces Round #717 (Div. 2) A B CA. Tit for Tat思路: 水题参考代码:#include<bits/stdc++.h>using namespace std;const int N = 110;int a[N];void solve(){ int n,k; cin>>n>>k; for(int i=1;i<=n;i++)cin>>a[i原创 2022-03-19 02:30:42 · 353 阅读 · 0 评论 -
CF VP Day1 Codeforces Round #641 (Div. 2) A B C D E
CF VP Day1 Codeforces Round #641 (Div. 2) A B C D EA. Orac and Factors思路: 合数先加上最小质因子后续输出222,质数加上他本身,后续加上222。参考代码:#include<bits/stdc++.h>using namespace std;void solve(){ int a,b; cin>>a>>b; bool ok=false; int mi;原创 2022-03-19 02:10:09 · 217 阅读 · 0 评论 -
Codeforces Round #789 (Div. 2) A B1 B2 C D E
Codeforces Round #789 (Div. 2) A B1 B2 C D EA.Tokitsukaze and All Zero Sequence题意: 给你一个长度为nnn的aaa数组,你每次操作可以进行下述两种操作的任意一种,求最小操作数使aaa数组所有数变成000:如果222个数相同,可以使其中一个数变成000。设两个数为aaa和bbb,可以使其中一个数变成min(a,b)min(a,b)min(a,b)。思路: 分类讨论,如果存在000,那么最小操作数即非000的个数。 如原创 2022-05-10 16:37:46 · 335 阅读 · 0 评论 -
Codeforces Round #788 (Div. 2) A B C D E
Codeforces Round #788 (Div. 2) A B C D E打的好 ** 烂总结一下把。A.Prof. Slim解法: 贪心,统计正负符号,因为每个位上的数只能是其绝对值的正负形式,所以让所有负号出现在左边,正号出现在右边。 此时已经是最优形式,如果还是出现后一项小于前一项那么答案是NO。代码:#include<bits/stdc++.h>using namespace std;#define int long longconst int N = 1e5+10原创 2022-05-07 20:43:56 · 747 阅读 · 0 评论 -
Codeforces Round #787 (Div. 3) F. Vlad and Unfinished Business
F. Vlad and Unfinished BusinessLink题意: 给你一棵树,里面遍布几个任务点和一个目的地,求从出发点开始最短通过所有任务点最终到达目的地的最小步数。思路: 记录从xxx开始到达目的地yyy的深度,并且把yyy点也当个任务点,统计所有任务点沿径距离到出发点xxx的距离和。最终再特殊处理yyy,因为不用回到xxx点,所以我们减去yyy的深度即可,使用DFS实现。代码:#include<bits/stdc++.h>using namespace std;#原创 2022-05-06 21:38:14 · 452 阅读 · 0 评论 -
Codeforces Round #785 (Div. 2) D. Lost Arithmetic Progression
Codeforces Round #785 (Div. 2) D. Lost Arithmetic Progression题意: 给出b,cb,cb,c两个等差数列数组,输入的333个数据分别是开始位置ststst,等差数ddd和数组长度lenlenlen,数组ccc是数组a∩ba∩ba∩b部分,让我们通过数组bbb和ccc恢复数组aaa,求在满足bbb和ccc前提下aaa数组能构造的数量,如果无解输出 000 ,如果无穷多解输出 −1-1−1 。思路: 首先我们得判断什么情况下是无解的什么情况下是无原创 2022-05-05 16:29:56 · 296 阅读 · 0 评论 -
Codeforces Round #638 (Div. 2) C. Phoenix and Distribution(1600)
Codeforces Round #638 (Div. 2) C. Phoenix and Distribution(1600)题意: 有nnn个怪兽连成一个环,怪兽iii拥有血量aia_iai,和explodeexplodeexplode伤害bib_ibi,我们每次射击可以使其中一个怪兽的血量−1-1−1,如果怪兽的血量低于111那么会怪兽会爆炸,对其下一个怪兽造成爆炸伤害。如果怪兽为i(1<=i<n)i(1<=i<n)i(1<=i<n),那么怪兽i+1i+1i+原创 2022-05-05 01:24:17 · 248 阅读 · 0 评论 -
Codeforces Round #786 (Div. 3) G. Remove Directed Edges(记忆化搜索)
Codeforces Round #786 (Div. 3) G. Remove Directed Edges(记忆化搜索)题意: 给出有向无环图,请删去其中若干边,使得:对于每一个结点,其出边比原来少,或出边原先就是 000。对于每一个结点,其入边比原来少,或入边原先就是 000 。思路: 我们设dpidp_idpi是以iii为链的开头,那么最终的dpidp_idpi就是以iii为起点的最长路径,那么我们如何获得dpidp_idpi呢???首先:如果我们要外连111个点,那么iii至少需原创 2022-05-04 17:37:13 · 293 阅读 · 0 评论 -
Codeforces Round #148 (Div. 1) A. Not Wool Sequences(1300)
Codeforces Round #148 (Div. 1) A. Not Wool Sequences(1300)Link题意:让我们构造一个长度为nnn的序列且序列中任意连续子序列中的所有数的xorxorxor不能为000。思路:如果要该长度为nnn的序列中所有任意子序列的xorxorxor不为0,那么假设pre[i]=a[1]pre[i]=a[1]pre[i]=a[1] ^ a[2]a[2]a[2] ^ a[3]a[3]a[3] ^ ......... ^ a[i]a[i]a[i],原创 2022-04-30 14:49:15 · 389 阅读 · 0 评论 -
Codeforces Round #688 (Div. 2) B. Suffix Operations(1400)
Codeforces Round #688 (Div. 2) B. Suffix Operations(1400)140014001400构造捋一下,题意:给你一个nnn个整数的数列aaa。你可以进行两种操作:1、1、1、后缀+1112、2、2、后缀 -111你可以改变其中的任何111个数为任何整数,也可以不变,然后进行上述操作。问最少需要操作几次,才能使所有数相同。思路:看到这种前后缀操作次数的题目,第一想法是差分。我们可以想到,如果要所有数相等,那么差分数组除了第一个位置之外,后面的原创 2022-04-28 16:31:50 · 170 阅读 · 0 评论 -
Codeforces Round #720 (Div. 2) B. Nastia and a Good Array(1300)
Codeforces Round #720 (Div. 2) B. Nastia and a Good Array(1300)Link130013001300构造卡了111小时,题意在最多不超过nnn次的操作下,每次操作选择两个下标不相等的数将a[l],a[r]a[l],a[r]a[l],a[r]变成x,yx,yx,y其中min(x,y)==min(a[l],a[r])min(x,y)==min(a[l],a[r])min(x,y)==min(a[l],a[r])。最终构造的数组中任意相邻数的gcd原创 2022-04-27 15:23:44 · 371 阅读 · 0 评论 -
Educational Codeforces Round 127 (Rated for Div. 2) E. Preorder (树形dp)
Educational Codeforces Round 127 (Rated for Div. 2) E. Preorder (树形dp)E. Preorder题意: 给定一课完全二叉树(确定),每个结点的值是字符’A’或’B’中的一个,你可以进行以下操作若干次:选定一个结点 u,对于左孩子 u<<1 和右孩子 u<<1|1,将 u 的左孩子置为 u<<1|1 ,右孩子置为 u<<1(可以认为是交换了两棵子树,这有可能会影响遍历顺序)随后先序遍历原创 2022-04-24 17:32:33 · 2178 阅读 · 0 评论 -
Codeforces Round #784 (Div. 4) All Problems
Codeforces Round #784 (Div. 4)前言:题目都挺新手的,符合div4div4div4该有的难度,并且给我贡献了史上第一次akakak局,相对还蛮欢乐的,适合新人。111小时151515分钟akakak,老年人手速了。A. Division?思路:ififif elseelseelse即可。参考代码:#include<bits/stdc++.h>using namespace std;#define int long longvoid cf(原创 2022-04-22 02:05:42 · 1336 阅读 · 2 评论 -
Codeforces Round #783 (Div. 2) D - Optimal Partition(dp/权值线段树 2100)
Codeforces Round #783 (Div. 2) D - Optimal Partition(dp/权值线段树 2100)题意:问我们将数组aaa分割成任意非空连续段,并且每一段的价值满足:若所有元素的和为正数,则价值等于子数组的长度若所有元素的和为 000 ,则价值等于 000若所有元素的和为正数,则价值等于子数组的长度的相反数。的情况下总价值最大是多少。容易想到n2n^2n2的朴素dpdpdp做法:一维循环iii二维更新每个dp[i]dp[i]dp[i]使其原创 2022-04-21 17:03:08 · 542 阅读 · 0 评论 -
Educational Codeforces Round 125 (Rated for Div. 2) A B C D
Educational Codeforces Round 125 (Rated for Div. 2) A B C DA - Integer Moves思路: 无非就是想什么情况(0,0)(0,0)(0,0)到(x,y)(x,y)(x,y)的距离为整数,显然用勾股定理算一下即可,小学数学。特判一下(0,0)(0,0)(0,0),唯一的坑点样例给出了。其余情况如果距离是整数那么输出111否则先横移再竖移即输出222即可。参考代码:#include<bits/stdc++.h>us原创 2022-03-23 03:40:26 · 171 阅读 · 0 评论 -
Codeforces Round #777 (Div. 2) A B C D
Codeforces Round #777 (Div. 2) A B C DA. Madoka and Math DadTip:math思路: 很明显最优解必定是由111和222构造而成的,在草稿纸上推一下,很容易发现余数分别为0,1,20,1,20,1,2时的最优解分别遵循什么规律,构造一下即可。参考代码:#include<bits/stdc++.h>using namespace std;#define mp make_pair#define int long l原创 2022-03-12 03:09:06 · 606 阅读 · 0 评论 -
Codeforces Round #776 (Div. 3) A B C D E
Codeforces Round #776 (Div. 3) A B C D E (G迟点更)A. Deletions of Two Adjacent LettersTip: Implementation、String思路: 签到,稍微提一下思路,目标为一个字符,且原字符串长度为奇数。那么我们只要在原字符串中找到下标是奇数的目标字符,那么我们必定可以通过删除其前面偶数个字符和后面偶数个字符来获得最终的目标字符。由于StingStingSting的下标是从000开始的,所以找到iii%222==0原创 2022-03-09 19:36:48 · 695 阅读 · 0 评论 -
Codeforces Round #772 (Div. 2) A B C D
Codeforces Round #772 (Div. 2) A B C DA. Min Or Sum思路: 一眼题,最好的情况就是二进制形式下出现过的数字最多保留111位。全部∣|∣起来即可。参考代码:#include<bits/stdc++.h>using namespace std;#define mp make_pair#define int long long #define re register int#define pb emplace_back#de原创 2022-02-21 15:24:39 · 597 阅读 · 0 评论 -
Codeforces Round #771 (Div. 2) A B C D
Codeforces Round #771 (Div. 2) A B C DA. ReverseTip:greedy思路: 字典序最小,显然如果从111到nnn扫描,如果遇到a[i]!=ia[i]!=ia[i]!=i,在后面找到iii所在位置,将其翻转过来即可。参考代码:#include<bits/stdc++.h>using namespace std;#define endl '\n'#define mp make_pair#define int long lo原创 2022-02-17 19:55:47 · 373 阅读 · 0 评论 -
Codeforces Global Round 19 A B C D
Codeforces Global Round 19 A B C DA. Sorting Parts思路: 如果有后面的数小于前面统计的最大的数,那么一定是YESYESYES,因为以此为分界点两边sortsortsort,一定不会形成升序序列。参考代码:#include<bits/stdc++.h>using namespace std;#define mp make_pair#define int long long #define re register int#d原创 2022-02-17 18:10:15 · 417 阅读 · 0 评论 -
Codeforces Round #769 (Div. 2) A B C D
Codeforces Round #769 (Div. 2)新年后的康复训练,把近几场vp了,题能补的补补掉。A ABC()B Roof ConstructionC Strange TestD New Year Concert原创 2022-02-04 19:56:58 · 833 阅读 · 0 评论 -
Educational Codeforces Round 122 (Rated for Div. 2) A B C D
Educational Codeforces Round 122 (Rated for Div. 2) A B C DA Div. 7思路: 能被777整除,方法有很多种,因为要求最小次数,那么我们特判能被777整除就输出000否则,暴力最后一位能被777整除即可,然后返回111,必定有答案。参考代码:#include<bits/stdc++.h>using namespace std;#define mp make_pair#define int long long #原创 2022-02-03 23:49:29 · 1159 阅读 · 2 评论 -
Educational Codeforces Round 121 (Rated for Div. 2) unr场 A B C
Educational Codeforces Round 121 (Rated for Div. 2) A B CA. Equidistant Letters思路: 每个字母在里面出现不超过两次且使每一对出现两次的字母之间的距离相同。那么直接sortsortsort结束参考代码:#include<bits/stdc++.h>using namespace std;#define mp make_pair#define int long long #define re re原创 2022-01-17 19:59:02 · 633 阅读 · 0 评论 -
Codeforces Round #764 (Div. 3) A B C D E G 持续更新中
Codeforces Round #764 (Div. 3) A B C DA. Plus One on the Subset(思维)题意: 每一次操作可以选任意数使其valvalval++,那么我们直接找到最小的数和最大的数,最多的操作次数就是最大值减去最小值。参考代码:#include<bits/stdc++.h>using namespace std;#define mp make_pair#define int long long #define re regis原创 2022-01-11 01:59:42 · 263 阅读 · 0 评论 -
Codeforces Global Round 18 C. Menorah
Codeforces Global Round 18 C. Menorah最近期末周,补个C复习期末去了,写一下我对这题的理解和证明。只看代码的话还是满简单的,没有题目经验所以推出这道题对我来说还是满困难的。思路+证明: 一共有444个状态:00、01、10、11。00、01、10、11。00、01、10、11。根据题目的意思,首先至少有一支点燃的蜡烛才能进行操作,并且每次操作点燃的蜡烛状态不改变,其他状态如果是000变成111否则变成000。那我们开始考虑 stringstringstring原创 2021-12-25 20:03:06 · 527 阅读 · 0 评论 -
Educational Codeforces Round 119 (Rated for Div. 2) C E
Educational Codeforces Round 119 (Rated for Div. 2) C前言: 夜深,睡不着。尽管今天的榜C题只过了毛1k1k1k人,但还是深深感觉到郁闷,接连上一场761761761让我深深感受到非常的难受,补个C睡觉把,剩下的慢慢补把,什么时候能看到突破呢…哎C. BA-String(string+进制转化)思路: 我们将本题转换为进制来看,因为通过观察可以发现每个aaa与其后面的∗*∗号可以构成一个进制,我们只需将目标字典序排名映射到各个位数表达出来即可,原创 2021-12-19 03:23:56 · 506 阅读 · 0 评论 -
Codeforces Round #760 (Div. 3) A B C D E F (持续加载中)
Codeforces Round #760 (Div. 3)A B C D E作者实力有限:赛后补题持续更新中A. Polycarp and Sums of Subsequences(思维)思路: 最小的两个一定在第111第222位,那么第333个数直接最后一个数减去第111第222位即可得。参考代码:#include<bits/stdc++.h>using namespace std;#define snow ios::sync_with_stdio(false);cin原创 2021-12-15 03:11:48 · 1268 阅读 · 0 评论 -
Codeforces Global Round 17 A B C(持续更新中)
Codeforces Global Round 17 A B CA. Anti Light’s Cell Guessing题意大概就是你最少查询几个点,使得任意隐藏的位置一定能通过回馈的哈密顿距离确定。有三种情况1:只有一行一列时,那么不用查询,那么答案也就是01:只有一行一列时,那么不用查询,那么答案也就是01:只有一行一列时,那么不用查询,那么答案也就是02:行或列中有一个是1,那么我们也可以通过查询临界点来确定任意的隐藏位置,答案是12:行或列中有一个是1,那么我们也可以通过查询临界点来确定任意原创 2021-11-24 01:56:40 · 546 阅读 · 1 评论 -
Codeforces Round #754 (Div. 2) A B C
Codeforces Round #754 (Div. 2) A B CA. A.M. Deviation思路:统计A,B,CA,B,CA,B,C三个数的数量的和mod3mod3mod3如果是奇数输出111否则输出000,为什么没有2呢???因为他求的ddd函数是绝对值所以abs(2−3)=1abs(2-3)=1abs(2−3)=1参考代码#include<bits/stdc++.h>using namespace std;#define snow ios::sync_wit原创 2021-11-13 00:32:40 · 933 阅读 · 0 评论 -
Codeforces Round #753 (Div. 3) A B C D E F(持续更新中)
Codeforces Round #753 (Div. 3) A B C DRank 2072/10812 div3难得勉强没掉分A. Linear Keyboard思路:不愧是div3div3div3的A题,裸模拟就好,在262626个键盘中查找所求字符串每两个相邻的absabsabs距离,然后加起来即可。参考代码#include<bits/stdc++.h>using namespace std;#define snow ios::sync_with_stdio(fa原创 2021-11-03 01:41:31 · 594 阅读 · 0 评论 -
Codeforces Round #752 (Div. 2) A B C D
Codeforces Round #752 (Div. 2)历史新高!!A. Era思路:一开始想歪了,以为是找一个最大数的下标然后输出最大数减去最大数下标。后来用数据 1 1 5 1 6 hack掉了这个想法,就很明显的发现到其实只要枚举一遍,存最大的a[i]−idxa[i]-idxa[i]−idx即可。参考代码:#include<bits/stdc++.h>using namespace std;const int N=110;int a[N];#define s原创 2021-10-31 02:00:53 · 369 阅读 · 0 评论