随笔分类 - CP
摘要:B. Playing with GCD 分析 尽管难度只有 1200*,不过是一道很有意思的题目,而且我的水平也就 1300*。 题目大意是给你一个有 个元素的数组 ,让你判断是否存在数组 使得 恒成立。 一开
阅读全文
摘要:这段时间没有怎么练习,昨晚打 Div.4 的时候居然卡在 E 了 = =。不过,我觉得这两件事情并没有联系,纯粹是我太菜的缘故。 看 E 的官方题解时发现了一个比较 counter-intuitive 的东西: 注意最后一行:“所有小于等于 的数最多有 个因子”。作
阅读全文
摘要:E. Vlad and an Odd Ordering 我很喜欢这道题,第一是因为它对我来说很难,第二是因为它体现了数学中的一些美妙而神奇的性质。惭愧的是,初见时我并没能做出来,看了 editorial 后也似懂非懂,直到两个星期之后,才总算理清楚思路,并且给出了一种略微复杂的解法——不知道和官方题
阅读全文
摘要:最近渐渐地会做一些基础的 DP 题了,但是因为细节上没处理好,常常花很多时间去 debug,导致效率不高,因此打算写这样一篇(一系列)文章分析下 DP 的细节处理。 以这道 1500* 的 E. Block Sequence 为例,当我们得出了: (点击展开) $$ \begin{gather*}
阅读全文
摘要:B. Equalize by Divide D. Divide and Equalize 做到 D. Divide and Equalize 的时候感觉似曾相识,翻了下以前写过的题解,发现自己确实做过类似的题,叫 B. Equalize by Divide,所以就想,不妨把所有这类题都收集在一起,提
阅读全文
摘要:NOTE1: 本文并不包含树状数组的原理及实现。 NOTE2: 主要参考 树状数组 - OI Wiki 写成。 逆序对 对于给定数组 ,记下标为 的元素为 ,定义逆序对 为满足: 的数对。 使用暴力方法求逆序
阅读全文
摘要:最近不打算做新的题目了,先把之前打过的 contest 的题目都补完。我今天才发现,自己一直以来都陷入了这样一个误区,认为自己的水平还不够,经验积累得还不多,因此不能做高于 1900* 的题目……现在想来这个理由真是莫名其妙。如果不主动去做那些题,怎么积累相关的经验呢? 以上这些话与本文无关,只是想
阅读全文
摘要:有些回溯题的 dfs 函数理论上需要多个返回值,比如 110. 平衡二叉树,这道题需要判断二叉树是否平衡。我们可以利用递归求出所有子树的高度,但同时也需要返回有关平衡的信息,特别地,当我们发现某个子树不平衡时,可以直接结束搜索以提高效率。一种做法是返回 pair,因为 “各个子树是否平衡” 之间是
阅读全文
摘要:前言 接触 LeetCode 差不多有一个月了,按照专题断断续续做了八十几道题,虽然不多,但感觉确实有了很大的进步——从一开始的没有题解寸步难行,到现在能够完全独立做出那些从前 “完全无法想象的题目”,而本题就是其中之一。做过之后才发现,其实它并没有那么难。 分析 本题的关键词之一是 子数组。 首先
阅读全文
摘要:引入 初学 DP,感觉循环顺序是 DP 的要点之一,遂尝试总结。 这里的 “循环顺序” 取决于循环变量在每一次循环执行完毕后是自增还是自减,而不是外层循环和内层循环的先后顺序。一般来说,自增对应正序,自减对应倒序。 循环顺序对于 DP 算法的正确执行来说非常重要,在多数情况下(从自己目前做过的为数不
阅读全文
摘要:C. Vlad and a Sum of Sum of Digits 分析 在给定的数据规模下,可以直接暴力计算出每个数的数位之和,求出前缀和后就可以在 的时间复杂度下返回答案,因为数位拆分的时间复杂度为 ,所以总的时间复杂度为
阅读全文
摘要:D. Vlad and Division 分析 题目要求是把给定数组划分成若干个组,使得每组中的任意两个数 对应二进制位的低 31 位均不相同,也就是 ,求出最小的组数。 于是这道题就变成了经典的 2SUM 问题。假设一开始每个数都被分到一个独立
阅读全文
摘要:]]]] 从今天开始正式学习 「传说中的 DP」。 首先看了 DP 的基本思想。 然后就开始尝试做题。 第一道题是 198. House Robber - 打家劫舍,因为之前练了挺久的暴搜,所以很快就写出了如下的代码: class Solution { public: int rob(vector<
阅读全文
摘要:Codeforces Round 923 (Div. 3) 两个小时只做出来四道题。虽然是赛后补题,不过即便有赛时 buff 的加持,我感觉自己也只能做出来四道题,而且一如既往地把简单的东西搞复杂了,写了好多绕来绕去的代码。 不过我并没有灰心,只是因为经验不足,而已。 A. Make it Whit
阅读全文
摘要:解法一:二维最大子段和 分析 自己想出来的解法,但凡出题人把输入的规模改大一点就通过不了。 做这道题的时候我拼命在想它和前一道题(84. Largest Rectangle in Histogram - 柱状图中最大的矩形)的关系。如果每一列的 '1' 都是连续分布的,且 “贴牢地面”,那么本题就退
阅读全文
摘要:B. A Balanced Problemset? 分析 本题考查 GCD(Greatest Common Divisor, 最大公约数) 的性质。 很惭愧,这道题我不会做,于是我看了 editorial,并学到了新知识: \[GCD(a_1,a_2,a_3,\ldots,a_n) = GCD(a_
阅读全文