![](https://img-blog.csdnimg.cn/ae3062e00bfc4bbcaa5303903874d990.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Codeforces 题解
文章平均质量分 81
小白的cf题解
Texcavator
会慢慢慢慢慢慢学会的!
展开
-
【cf】EPIC Institute of Technology Round Summer 2024(Div. 1 + Div. 2)题解 C - D
发现最后一个变为 0 的一定是第一个,对于每一个位置而言,如果它后面的位置没变为 0 ,那么它就不可能变为 0,所以它变为 0 的时刻最小应该是在它后一个位置变为 0 的时刻加 1,如果这个位置太高的话,就需要。表示 Bob 在前 i 种数里选完了 j 种(注意是种不是个)的时候需要进行的操作次数。,因为要保证 Alice 的操作次数比 Bob 多,在满足该条件的基础下,个时间变为 0,所以当前位置变为 0 的时刻就是二者取最大值。如果要取第 i + 1 种,首先需要满足一个条件,即。原创 2024-07-01 09:57:07 · 504 阅读 · 0 评论 -
【cf】Edu Codeforces Round 167(Div.2)题解 A - E
如果直接这么求也不对,因为我们发现两个相同的颜色组成的一段,处在中间位置时,和两个不同的颜色组成的两段贡献一样,举个例子:1221和1231得到的 b 数组都是 1111,但是这样的相同两个颜色组成的一段处在两段时,贡献就和不同颜色组成的两段不一样,举个例子:112和312得到的 b 数组分别是 211 和 111,所以每次需要减去不处在两端的 由两个相同颜色组成的一段。首先需要考虑到,每次锻造会让我们的原料减少,那我们选择锻造方式的时候,一定会在原料数量满足条件的情况下,选择原料减少数量最小的。原创 2024-06-28 14:18:34 · 762 阅读 · 0 评论 -
【cf】Codeforces Round 941(Div.2)题解 A - D
前三题出的最快的一次,但是d没出。原创 2024-04-28 11:28:30 · 533 阅读 · 2 评论 -
【cf】CodeForces Round 905(Div.3)题解
因为k是2/3/4/5,235都是素数,所以只要数组中出现了他们的倍数即可,如果k是4,那么有两种情况,一种是有一个数是4的倍数,那么直接整除,另一种情况是有两个数是2的倍数,也可以让整体的乘积凑出4的倍数。不同字母个数都是偶数,或者只有一个字母个数是奇数的情况下,可以让整个字符串对称,所以判断一下删掉k个字符之后能不能使得奇数个数的字符小于等于1个就可以了。实际上只需要记录下每个元素需要乘的2的数量,之后如果有后一个数比前一个数大的情况,可以看看大多少倍,用之前的2抵消。只要相对位置不改变就可以!原创 2023-10-23 23:44:41 · 638 阅读 · 2 评论 -
【cf】CodeForces Edu Round 153(Div.2)题解 A - C
先用普通硬币付尽可能多的金额,剩下的钱再用特殊硬币中面值为 k 的付款,最后剩下小于 k 的金额没有付款,看看这个金额距离 k 还有多少,能不能用普通硬币组合而成(如果能用普通硬币组合,我们就可以少付这么多普通硬币,从而让最后剩余的金额变为 k ,直接付一枚特殊硬币),如果能的话直接在原答案基础上加1,不能就加上多出的那一部分(多出来的全部用面值为1的特殊硬币付)仔细思考一下是这样吗)显然不是,此时可以少付一枚面值为1的普通硬币,这样需要用特殊硬币来付的金额就变成了21元,只需要3枚特殊硬币即可。原创 2023-08-18 13:24:41 · 204 阅读 · 0 评论 -
【cf】CodeForces Round 893(Div.2)题解 A - C
之后遍历每个特殊点,计算删除掉这个特殊点之后这个人吃的饼干数量,例如当前计算第 i 个特殊点,那就单独计算第 i-1 个特殊点到第 i+1 个特殊点之间吃的饼干数量,再加上第 i-1 个点前面的饼干数量(计算前缀和时已经将这个数值存储下来了),再加上第 i+1 个点后面的饼干数量,再加上所有特殊点的数量减1。有三堆物品,给出每一堆物品的数量,第一个人只能从第一堆和第三堆每次拿一个,第二个人只能从第二堆和第三堆每次拿一个,谁先没东西拿谁就输,问谁能赢。中间有一些需要注意的地方,思路清晰之后主要还是代码实现。原创 2023-08-17 14:01:11 · 214 阅读 · 0 评论 -
【cf】CodeForces Round 892(Div.2)题解 A - D
因为可以随便移动,我们发现,所有数组元素中最小的一个(后文叫它x)无论移到哪都是最小的,其他数组中最小的元素只要移到那个包含x的数组中,那个数组中最小的元素还是x,而其他数组中最小的元素都变成了原来第二小的元素。给出一个数组a,把数组a中的元素分给两个空数组,要求第一个数组中的每个元素都不能是第二个数组中元素的倍数,输出一种分法。所以最大值就应该是所有数组中最小元素中的最小的元素加上所有数组中第二小元素之和删去第二小元素中最小的元素。另外要注意一下,如果只有一个数组,那只能输出该数组中最小的元素。原创 2023-08-16 13:31:28 · 269 阅读 · 0 评论 -
【cf】CodeForces Round 891(Div.3)题解
已更新A-E。原创 2023-08-08 11:08:36 · 596 阅读 · 6 评论 -
【cf】CodeForces Round 890(Div.2)题解 A - C
我的思路是,另外开一个数组存储原数组排好序的结果,然后从后往前遍历两个数组,计算出原数组末尾有多少元素是已经排好序的,我们在操作的时候就可以不考虑这些元素,直接将未排序的部分全部变成 0 即可,答案就是未排序部分的最大值。,在数组a中是1的位置上,数组b能填的最小值是2,在数组a不是1的位置上,数组b能填的最小值是1,如果数组b能填的最小值的总和小于数组a元素的总和。给出一个数组,每次操作可以把其中一个比它后方相邻元素小的元素加1,问最多 k 次操作后数组中的最大值是多少。,判断如果最后的数组中最大值是。原创 2023-08-06 10:28:05 · 502 阅读 · 1 评论 -
【cf】CodeForces Round 887(Div.2)题解 A - C
给一个数列,每次操作可以把前一部分每个数加1,后一部分每个数减1,问至少操作多少次可以让数列非递增。否则找到相邻元素最小的差值,最少的操作次数就是让这个最小的差值的两个元素变成逆序,除以2加1即可。可以推出,x 的系数是 0 1 1 2 3 5 …,y 的系数是 1 1 2 3 5 8…现有斐波那契数列(下标从1开始) 0 1 1 2 3 5 8…给定斐波那契数列的第 k 项是 n,问存在多少这样的数列。先遍历每一个数,如果有逆序的直接输出0。设第一个数是 x,第二个数是 y。那么 x 的系数 a 就是。原创 2023-07-24 23:22:20 · 501 阅读 · 0 评论 -
【cf】CodeForces Round 886(Div.4)题解
签到题,问输入的三个数里较大两数之和是否大于等于10。原创 2023-07-23 13:23:39 · 253 阅读 · 0 评论 -
【cf】Codeforces Round 885( Div.2)题解 A - D
给出矩形长宽,给出Vika所在地坐标,给出她的 k 个朋友所在地坐标,每一步他们可以到达与他们坐标相邻的地方,每轮 Vika 先走一步,她的每个朋友再走一步,如果有一轮结束后,她的任意一个朋友和她的位置重合,输出“NO”,否则输出“YES”有一条路的不同位置被涂上不同颜色,Vika 只能走同一种颜色(遇到不同颜色就跳过去),但是她可以改变路的任意一个位置的颜色(也可以不改变),问她怎么走能让跳跃的距离最短,输出最短的跳跃距离。然后,我们可以找到规律,如果一直进行操作1,最后一定会陷入循环0、0…原创 2023-07-18 02:59:19 · 300 阅读 · 0 评论 -
【cf】Codeforces Round 883(Div.3)题解 A - E1
签到题,就是看有多少个钉子上系的绳子长度比钉子高度短。原创 2023-07-08 20:22:56 · 740 阅读 · 4 评论 -
【cf】Codeforces Round 882(Div.2)题解 A - C
把一个长度为 n 的数组分成 k 段,要求每一段中相邻元素差值之和相加起来最小。原创 2023-07-07 13:41:22 · 314 阅读 · 1 评论