随笔分类 - CF
好好加油
摘要:"A. Level Statistics" 思考的时候一定不要担心会浪费时间!! 要把问题考虑清楚!!
阅读全文
摘要:"D Carousel" 本来是个 dp 的题目,用 dfs 给写了,也差不多算是 dp 了。
阅读全文
摘要:"E Array Shrinking" 用 表示连通块的大小,用 表示连通块表示的数。 然后再进行动态规划, 表示从 可以得到的最短长度。
阅读全文
摘要:"B Count Subrectangles" 首先看到数据范围$1≤n,m≤40000$,可以知道我们根本就没有办法求出 数组的每一个值,那么解决问题的关键肯定在对数组 的处理上,而对一个数组的处理无非就是求前缀和、求连续串等等,可以很容易发现,如果要形成一个矩形$(x y)$,那么要保证有在 a
阅读全文
摘要:"D Kuroni and the Celebration" 每次遍历一条链的两个端点,途中经过的点除了根节点,其他肯定不可能是。
阅读全文
摘要:"C Cow and Message" 对于字符串问题,如果对于下标进行操作复杂度很大的话,可以考虑对字母进行操作,这样计算复杂度的时候就是对26进行计算了。
阅读全文
摘要:"D Navigation System" 参考: "Codeforces Round 625 (Div. 1, based on Technocup 2020 Final Round).B. Navigation System" 在遍历这个点A的时候,其实是判断下一个点B是否需要重新规划路径,如果
阅读全文
摘要:"C2 Skyscrapers (hard version)" 分别用 表示在 i 位置能取到的左边的值之和,右边的值之和。 利用单调栈的思想。 降低复杂度的方法是,充分利用重复计算的数据,将其保存下来,避免多次计算。
阅读全文
摘要:"E. 1 Trees and Queries" 该题需要用 lca 进行优化。 在树中求两点间的距离的方法为:
阅读全文
摘要:"D Shortest and Longest LIS" 因为要使最长上升子序列分别为最小和最大,所以可以先分别让序列为 和`1 2 3...n 2 n 1 n`,然后再让序列满足题给条件,要注意的是连续的“”应该进行翻转操作。 通过这道题应该想到的东西是,题给条件所要求的“ ”、” define
阅读全文
摘要:"D Domino for Young" 参考: "Codeforces Round 609 (DIV 2) D. Domino for Young" "D. Domino for Young" 题解的想法是将图形进行黑白交替染色 类似于: 黑白中个数最少的那个即是答案:
阅读全文
摘要:"D Time to Run" "Codeforces Round 619 (Div. 2) Editorial" 特别要考虑到只有一行或者只有一列的情况。 如果由 k 直接正向推路径的话,难免会要考虑到很多种情况,不如先得到全部走完的路径,然后再从末尾开始减,一直到 k。另外,可以对将要输出的向量
阅读全文
摘要:"C Ayoub's function" 参考: "Codeforces Round 619 (Div. 2) Editorial" 当从正面计算感觉很困难的时候,不如从反面来想,这是利用了容斥的思想。 我们只需要用所有子串的个数减去只包含0的子串个数即可。 而要是只包含0的子串的数量最少,那么就要
阅读全文
摘要:"C Long Beautiful Integer" 对于这种思维题,其得到的规律不重要,重要的是得到规律的过程,在写题的时候,应该在纸上模拟得到样例的过程,这样有利于看出规律,因为相比于在脑海里想规律,在纸上表现出来的规律更加直观。
阅读全文
摘要:"E Erase Subsequences" 参考: "Educational Codeforces Round 82 A~E 题解" 该题数据范围只有400,所以可以使用$O(n^3)$的写法。 $dp[i][j]$表示在 s 的第 i 个位置(从1开始)和 t1 的第 j 个位置,能够满足的 t
阅读全文
摘要:"D Fill The Bag" 参考: "Educational Codeforces Round 82 A~E 题解" 因为这道题的 是2的幂次方,相当于是提示了我们需要用位运算来进行解决。 相当于二进制中的每一位,我们要做的是把 填进 n 的每一位中,一个 只能填一位。 低位的数字可以填高位,
阅读全文
摘要:"E Water Balance" 从头开始直接模拟即可,将这 n 个数分成很多个模块,如果发现一个模块可以降低前面一个模块的平均数,则跟前面一个模块合并,以此类推。
阅读全文
摘要:"D Aerodynamic" T所表示的图形就相当于是把原点放在P所表示的图形的边缘,然后不断的把图形平移,绕原点旋转,原点始终位于P所表示出的图形的边缘。 这样一来可以意识到只有当原图形是中心对称图形的时候,T与P才会相似。 "证明图形为中心对称图形"
阅读全文
摘要:"F Berland Beauty" 因为这道题的 n 只有5000的范围,所以直接暴力用$O(n^2)$的写法也是可以的,只需要先 dfs 一遍,把每一条边都赋为其可能达到的最大值,然后再把所有的数据再 check 一遍即可。当然这道题也可以用树链剖分来进行优化。
阅读全文
摘要:"E2. String Coloring (hard version)" 首先我们要明确一点,最多只会出现26种颜色,因为当下字母 如果在后面 出现过,那么在 i 这个位置的最佳颜色选择即为先前确定的颜色。所以我们可以使用状态压缩来记录状态。
阅读全文