随笔分类 - Codeforces
摘要:题目链接 CF1527B1(luogu) CF1527B2(luogu) CF1527B1(codeforces) CF1527B2(codeforces) 解题思路 这篇题解分 B1,B2 两个部分来讲。 B1 sol: 考虑字符串中 的数量,设这个值为 : 若 \(su
阅读全文
摘要:怎么没有二分的题解啊,写一篇。 题目链接 CF1301C Ayoub's function 解题思路 发现我们可以将问题转化成将 个 分成 份,设第 份的数字之和为 ,则这样的分配方案的贡献为 \(\frac{n \times
阅读全文
摘要:场切了,写篇题解纪念一下。 题目链接 CF1365G Secure Password 解题思路 首先有个非常显然的次数为 次的做法,就是我们根据二进制逐位考虑即可,那么为什么次数要乘上 呢,因为你在求出答案时,需要通过 两种不同的数
阅读全文
摘要:简单题。 题目链接 CF862D Mahmoud and Ehab and the binary string 解题思路 首先我们可以发现,字符串的第一个字母不是 就是 ,因此我们可以容易花费 次询问来找到数字 或数字 所在的一个位置。 然后
阅读全文
摘要:怎么题解区里都没有随机化的题解啊 /jy。 于是就有了这篇题解。 题目链接 CF862C Mahmoud and Ehab and the xor 解题思路 思路非常简单。 首先容易发现在 时,直接构造一个 这个数即可。 其次我们考虑 的情况,由于
阅读全文
摘要:题目链接 CF1360H 解题思路 发现你可以十分高效的统计小于等于 的合法的数字数量。 并且你可以发现,当 递增时,合法的数字数量是不递减的,因此合法的数字数量是具有单调性的。 于是可以进行二分答案。 那么如何进行 check 呢?我们先将不可选用的二进制数字给转化成数字,
阅读全文
摘要:题目链接 K-beautiful Strings CF1493C 解题思路 首先,如果原字符串是合法的直接输出原字符串即可。 然后我们考虑一个最简单的暴力,你枚举第一个你构造的字符串比原串大的字符的位置,再枚举这个字符,然后后面的肯定是从后往前贪心放即可,在此不再赘述。 这样的复杂度是 \(O(|S
阅读全文
摘要:duel 到的。 题目链接 CF1567D 解题思路 发现在越高的数位上,你获取的利益就会越大。 因此你肯定是每次将尽可能多的数分到最高的数位上是最优的。 但是你会发现,有可能你这样分数位后后面的数就分不到权值了,你只需要保证去掉当前分掉的权值之后,剩下可以分的权值不小于还剩下没分到的数字数量即可。
阅读全文
摘要:vp 到的。 题目链接 CF1183E Subsequences (eazy version) CF1183H Subsequences (hard version) 解题思路 考虑动态规划。 设 表示考虑到字符串前 个字符中选取的字符长度为 的不同
阅读全文
摘要:题目链接 CF1486C1 CF1486C2 解题思路 提供一个比较显然的思路。 我们发现我们可以先求出整体的最小值,然后设整体最小值所在的位置为 ,则我们可以通过 次询问 来求出最大值的位置是在 还是在 。然后
阅读全文
摘要:题目链接 CF1999A 解题思路 模拟。 没了。 参考代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem: 算法:
阅读全文
摘要:A 直接找两个相同的字符往里面塞个不同的字符即可。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem: 算法
阅读全文
摘要:题目链接 CF1996F 解题思路 考虑二分。 我们发现,我们肯定是拿此时的价值最大的物品。 因此,当所有的物品再拿一次后会小于等于 时拿走的物品数量,在 缩小时,答案是单调不减的。 因此,我们可以令二分当所有的物品再拿一次后会小于等于 时的物品总价值是多少,注意
阅读全文
摘要:vp 到的。 题目链接 CF1889A Qingshan Loves Strings 2 解题思路 我们考虑从头到尾依次判断情况。 维护两个指针 来依次比较,直到有 。 这种情况根据题目所述是不合法的,因此我们需要依次分讨一下两种情况: \(a_l = a_
阅读全文
摘要:duel 到的。 题目链接 CF1513C Add One (luogu) CF1513C Add One (codeforces) 解题思路 我们发现,初始数列中的每个数字变为 必定只需要至多 次,于是我们可以直接预处理出 这个数字经过 次变化
阅读全文
摘要:题目链接 CF1615C Menorah (luogu) CF1615C Menorah (codeforces) 解题思路 这题有三个重要的性质: 在同一个点做两次操作与不在这个点做操作是等价的。 给两个不同的点做操作等价于交换这两个点。 给一个字符串做偶数次操作,这个字符串的 的数量
阅读全文
摘要:duel 到的。 题目链接 CF1015D Walking Between Houses 解题思路 一道细节题。 思路很简单,肯定是一开始能走的越多越好,因此就有一种较好实现的方案,先每次走 格,但由于每次至少要走一格,因此如果不够走了就把能走的都走掉,之后全走 步即
阅读全文
摘要:duel 到的。 题目链接 CF727D 解题思路 首先只能选一个尺码的人直接给就是了,这样我们就只用考虑选两个尺码的人了。 因为两个尺码的人适合的两个尺码是相邻的,因此我们直接从小到大按照有两个尺码的人排序,再将剩下的衣服大小从小到大排序,然后依次给就可以了。 这里我用了桶排,时间复杂度 \(O(
阅读全文
摘要:duel 到的。 题目链接 CF727D (luogu) CF727D (codeforces) 解题思路 首先只能选一个尺码的人直接给就是了,这样我们就只用考虑选两个尺码的人了。 因为适合穿两个尺码衣服的人的适合穿的两个尺码是相邻的,因此我们直接从小到大按照有两个尺码的人排序,再将剩下的衣服大小从
阅读全文
摘要:题目链接 CF402D Upgrading Array (luogu) CF402D Upgrading Array (codeforces) 解题思路 首先你会发现你一旦在第 个位置上做了一次操作后,那么你之后所有在第 个位置做的操作都是无效的,因为此时该
阅读全文