- 2024-11-21Codeforces ICPC那场
在许多题目中,我原来感觉第二题应该是不难的,结果难的我都不想做了,所以发一下第二题的题解。题目的意思便是对一个列表,任意选择范围内的索引i,使A[i]-=2,A[(i+1)%len(A)]+=1,我的第一想法便是用差分,使差分列表全部为零即可,但是操作就变得无规律了为什么我会想到用差分呢,因为改
- 2024-11-20[CodeForces] CF558 题解
注:难度评级为D到A,对标NOIPT1到T4。+表示比原本难,-反之。例如,D+比D难。难度评级仅供参考。如果认为难度评级与实际难度不符,可以在评论区@我进行讨论。本篇题解无复杂的公式推导,题目较清新自然,请放心食用。斜体字为说明提示。通常与多倍经验有关。A.LalaLandand
- 2024-11-20Codeforces 1145 题目分析
本文将分析Codeforces1145(AprilFoolsDayContest2019)。题目分析A题目描述:使用“灭霸排序”算法可以得到的最长子串的长度。解法:暴力。B题目描述:输入一个整数\(\in[1,99]\),若它的英文形式含有knba四个字母输出NO否则输出YES。解法:打表。C题目描述:输入一
- 2024-11-19二分查找(折半查找)(内含CodeForces - 1760F )
在数组中想要找到一个元素,我们最先想到的就是遍历数组,用if语句判断它们是否相等,但时间复杂度太高,我们也不想遍历数组中的每个元素,感觉太麻烦了。这时就可以用二分查找的方法:先将数组排序,然后不断折中数组,只需比较中值与目标值的大小,更新中值的大小就行了,这样可以大大减少时间
- 2024-11-18Codeforces Round 988 (Div. 3) E题解析
E题题目链接CodeforcesRound988(Div.3)题目描述题目的思路根据题目的意思,我们可以推断出算法时间复杂度应该在O(N)对于这道题而言,我们可以分析下思路首先我们先从1~n的范围里面询问答案如果出现0就跳过,因为无序操作如果出现非0答案temp就记录下1~i的01序列的个数如果
- 2024-11-18Codeforces Round 988 (Div. 3) A~D
CodeforcesRound988(Div.3)A.Twice这个题就是简单的贪心题,在相同大小的元素里面,我们只能选择两个来对评分更新,所以最多能更新(相同元素的个数)/2次,记录相同元素的个数就行了//Problem:A.Twice//Contest:Codeforces-CodeforcesRound988(Div.3)//URL:https
- 2024-11-18Codeforces Round 988 (Div. 3)
CodeforcesRound988(Div.3)总结A没啥好说的,用桶存出现次数。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<queue>#include<map>usingnames
- 2024-11-17Codeforces Round 987 (Div. 2) - 比赛总结
Preface我是若只。A.PenchickandModernMonument先吃三发罚时。最优策略应当是把所有数都调成众数,然而我一开始就忙着往后面做,胡乱猜了个结论就WA了,又猜了一个又WA了,再猜了一个再WA了。点击查看代码constintN=105;intn,a[N];intmain(){ intT;read(T);
- 2024-11-16Codeforces Round 986 (Div. 2)
CodeforcesRound986(Div.2)总结A按题意模拟即可,因为\(n,a,b\)很小,可以多循环几遍来判断。只循环十遍的吃罚时qwq。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<queue&
- 2024-11-16Refact.ai Match 1 (Codeforces Round 985)
Refact.aiMatch1(CodeforcesRound985)总结A集合中的元素为\(l\lex\ler\),有\(k\)个\(x\)的倍数在其中才可删,可以求出最大可删的元素,直接计算。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#inclu
- 2024-11-16Codeforces Round 987 (Div. 2)
好不容易的一次CF阳间赛,这次题目普遍较长。A-PenchickandModernMonument题目大意将一个非递增的序列通过操作某些数(可增大可减小),最终使得序列变成一个非递减的序列,求出最少要操作多少次?解题思路这个题也是想了不断时间,而且还提交错误一次,原因就是调试的代码没
- 2024-11-16Codeforces Round 987 (Div. 2)
训练记录CodeforcesRound987(Div.2)4/6前四题都是简单思维题A.PenchickandModernMonument这个题目最贪心的做法是找到出现最多的数,保留种数字不变,其他按照题目要求改大小就行//Problem:A.PenchickandModernMonument//Contest:Codeforces-CodeforcesRound
- 2024-11-16[Codeforces Round 987 (Div. 2)](https://codeforces.com/contest/2031)解题报告
CodeforcesRound987(Div.2)太好了是阳间场,我们有救了感觉脑子生锈了qwq,F题做不出来A分析知如果有\(i<j\)且\(a_i>a_j\)的情况出现则\(i\)和\(j\)一定至少改一个。所以答案即为\(n-cnt\),\(cnt\)为众数个数。B发现一个数离自己原本的位置距离不会超过\(1\),有
- 2024-11-16Codeforces Round 987 (Div. 2)
CodeforcesRound987(Div.2)总结A常见的套路,将一个序列变为不下降序列所需要改变的值的最小数量,考虑最大能保留多少个,显然是求最长上升子序列,而这题给出的\(a\)序列保证不上升,所以只需要考虑相同长度的一段。#include<iostream>#include<cstdio>#include<cstring>#
- 2024-11-16Codeforces Round 983 (div 2)
A.CircuitAlicehasjustcraftedacircuitwith\(n\)lightsand\(2n\)switches.Eachcomponent(alightoraswitch)hastwostates:onoroff.Thelightsandswitchesarearrangedinawaythat:Eachlightisconnectedtoexactlytwoswitches.Ea
- 2024-11-15Codeforces Round 986 (Div. 2)
AB没什么好说的。C把我卡了。dp非常明显,最开始我想的是单向做,\(f[i][0/1]\)表示前\(i\)块蛋糕已经分出去了,01表示Alice是否拿过了,此时分给了几个人。尝试写写转移就知道为什么寄了。状态不够,没法表示答案。就算转移到了最后也没法得出我们需要的答案。可以发现,这个dp不好做的
- 2024-11-14CodeCraft-21 and Codeforces Round 711 (Div. 2) F. Christmas Game【阶梯博弈、换根 DP】
这道题目是比较经典的树上阶梯博弈。设一个点的深度是\(dep_i\),如果两个点\(i,j\)满足\(dep_i\not\equivdep_j\modk\),则两个点对答案的影响是完全独立的。我们可以把图拆分为\(k\)部分,并且按照原图中的祖先关系把新图连接为\(k\)棵树。对于一个点\(i\),在新图中的深度为\(dep_
- 2024-11-14B. Alice's Adventures in Permuting (python解)-codeforces
B.Alice'sAdventuresinPermuting(python解)-codeforces原题链接:B.Alice'sAdventuresinPermuting问题分析:我们需要将数组a转换为一个排列,排列是由n个不同的整数构成,范围从0到n−1。数组a是通过给定的参数n、b和c生成的。\[a[i]=b⋅(i−1)+c\]\[对于1≤i
- 2024-11-13Codeforces Round 985 div1+2 个人题解(A~E)
CodeforcesRound985div1+2个人题解(A~E)Dashboard-Refact.aiMatch1(CodeforcesRound985)-Codeforces火车头#include<bits/stdc++.h>usingnamespacestd;#defineftfirst#definesdsecond#defineyescout<<"yes\n"#definenoc
- 2024-11-12Solution - Codeforces 1394B Boboniu Walks on Graph
考虑先分析最后的图会长成什么样。因为每个点都只会连出一条有向边,且最后还能走回自己。所以可以知道的是图会有许多个环来组成,且每个环都无交。但是这个判定条件明显不是很优秀,考虑继续转化。考虑到对于一个有向环,每个点的出度和入度都需要为\(1\)。那么出度为\(1\)题目
- 2024-11-11Educational Codeforces Round 80 (CF1288)
EducationalCodeforcesRound80(CF1288)A.Deadline题意给出正整数\(n,d\),求不等式\(x+\lceil\frac{d}{x+1}\rceil\len\)是否有非负整数解。思路先不考虑上取整,\[x+\frac{d}{x+1}=x+1+\frac{d}{x+1}-1\ge2\sqrtd-1\]当且仅当\(x+1=\frac{d}{x+1}\)即\(
- 2024-11-11[题解](更新中)Refact.ai Match 1 (Codeforces Round 985)
A-Set显然答案是\(\max(\lfloor\frac{r}{k}\rfloor-l+1,0)\)。点击查看代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intt,l,r,k;signedmain(){ cin>>t; while(t--){ cin>>l>>r>>k; cout<<max(0ll,
- 2024-11-11Codeforces Round 985 简略复盘
A.Set题目描述给你一个正整数\(k\)和由\(l\)至\(r\)(含)的所有整数组成的集合\(S\)。您可以执行以下两步运算的任意次数(可能为零):首先,从集合\(S\)中选择一个数字\(x\),使得\(S\)(包括\(x\)本身)中至少有\(k\)个\(x\)的倍数;然后,从\(S\)中删除\(x\)(注意没
- 2024-11-11Codeforces Round 983 (Div. 2) - A
题目链接:https://codeforces.com/problemset/problem/2032/A题解代码:#include<bits/stdc++.h>usingnamespacestd;voidsolve(){intn;cin>>n;intcount0=0,count1=0;for(inti=0;i<n*2;i++){intx;
- 2024-11-11[CodeForces] CF1978 题解
A.AliceandBooksLink-CFLink-Luogu【题目大意】\(n\)本书,编号为\(1\)到\(n\),价值为\(a_1\)到\(a_n\)。将这些书分成两堆,你获得每堆编号最大的书的价值。求可以获得的最大的价值。【解题思路】无论怎样,编号为\(n\)的书不管在那一堆都是编号最大的,所以一定会有它