随笔分类 - CodeForces 题解
摘要:PART 01:思路 我们知道最后的字符串一定是一个左右两边为括号的串,所以先找一波括号。 第一步,找左右括号。 接着在两个括号之间找出两个冒号,所以还要存下左右括号的下标。 第一步,找左右括号并存下下标。 第二步,找左右冒号。 最后在两个冒号之间找 字符,所以还要存下冒号的下标。 第一
阅读全文
摘要:题目大意 对于一个无向无权联通图 ,有 个点 条边,往这个图里没有被连接的两个点之间连边,问有多少连法可以使得 到 的最短路长度不变。 解决思路 2.1 暴力做法 可以枚举任意两个点,对于每次连接使用 bfs 求最短路,计算出时间复杂度为 \
阅读全文
摘要:题目大意 现在有 个学生,每个学生的水平为 ,允许你往其中添加 个任意水平的学生。现在要求你把这 个学生分成几组,使得每一组中的水平大小相邻的学生的水平绝对差小于等于 。 思路分析 考虑贪心 可以先对学生的水平排一下序,算绝对差,把绝对差存
阅读全文
摘要:题目大意 有 组测试数据。 对于每一组测试数据,有 个糖果堆,每个糖果堆都有 颗糖果,请问可不可以把所有糖果分平均? 如果可以输出最少要分几次才能平均,不可以就输出 。 思路 2.1 考虑不行的情况 把所有的糖果堆里的糖果数量加在一起得到和 \(s
阅读全文
摘要:题目大意 有 组数据,每组数据是一个长度为 的数列,现在要你求出需要往数列中加入多少个非负整数才能使得数列的平均数为 。 解决思路 考虑各种情况 如果平均数大于 ,我们就要把平均数降下来,那肯定不能往里面加正数,只能往数列里加 。 如果平均数等
阅读全文
摘要:思路 首先把题干丢进翻译,发现并没有什么作用。 1.1 题目意义的分析 所以可以分析一下 的小样例看能不能从中得到什么信息。 利用简单的数学计算出 ,和我们需要的答案差了 。所以可以这样想,在这个题目里 等同于 。 恰
阅读全文
摘要:赛时唯一做出来的题,这题水过了其它都不会做。/ll 题意 给你一个由a和b组成的字符串 ,改变其中一个字符(变a为b,变b为a)使得其中AB子串的数量和BA子串的数量相等。 思路 看到 的长度不超过 ,考虑大暴力。 枚举每一个字符,计算变换该字符后AB和BA的个数
阅读全文
摘要:不愧是数学场…… 题意 有 组数据,每组数据中包含一个 以及一个包含 个元素的序列 ,请在这个序列中添加一些数使得对于每一个原始元素以及加入的元素都存在 。输出至少需要加多少数达到目标。 数据范围:\(1\leqsla
阅读全文
摘要:考场上想出了近似做法,可惜没有实现出来。 题意 有 组数据,每组都是一个有 个元素的序列 ,考虑将此序列分割成若干段。假设第 段的 LIS(最长上升子序列)长度为 ,请问是否有一种分割方式使得 \(h_1 \oplus h_2\oplus\
阅读全文
摘要:思路 直接想法,为了使后面的一个数不能够被前面的那个数整除,只需要保证前后两个数都是质数就可以了。 但是我们并不想算多少以内能够有 个质数,所以我们搞线性筛,处理 内的质数(其实并不需要这么多,请读者自行尝试处理多少以内就够了)。 代码 2.1 线性筛 如果你还不
阅读全文
摘要:思路 非常显然的结论:无论 Rahul 坐在哪里,Tina 为了使离他最远,都要坐在一个角落。而且这个角落一定是四个角落中距离 Rahul 最远的。 所以说我们可以考虑预处理出对于每一个位置距离最远的那一个角落,把这个最远的距离存在一个数组里面。 感性理解一下。一开始的时候,两人的距离一定会比较近(
阅读全文
摘要:前情提要 个人认为,本题是 CF1280B 的弱化,如果您切掉了这道题,可以去尝试尝试。 思路 分类讨论。 本身是一个黑块。显然,答案为 。 有至少一个黑块与 同行或同列,显然对这个黑块操作 次即可。 不符合以上两种情况,但整个网格中有黑
阅读全文