2021 上半年经典题总结
2021 年很快就要结束了。为了更好地回顾这一年一来自己写过的题目,起到较好的总结作用,这里将这一年来做过的经典题以及对应的套路罗列在这里并全部重新写了一遍:
upd on 2021.12.31:貌似今年都快结束了才过到 6.30,我怕不是个鸽子,那就当整理了今年上半年做过的题吧(
-
CF528D Fuzzy Search:FFT 处理字符串匹配问题(2021.1.2)
-
P4389 付公主的背包:将多项式先取 ln 再 exp 的套路(2021.1.12)
-
P4841 [集训队作业2013]城市规划:将“求 \(n\) 个点的带标号连通 xx 图”,转化为”求 \(n\) 个点的带标号 xx 图“,再求 \(\ln\)(2021.1.13)
-
P3358 最长k可重区间集问题:(个人认为)网络流 24 题中最难想到的一个模型,将数轴的两侧当作源汇,在数轴上相邻的点之间连一定容量的边限制,一般用于处理”区间上每个点最多被 \(k\) 个线段覆盖“有关的问题(2021.1.25)
-
CF997C Sky Full of Stars:推式子+二项式反演+二项式定理化简式子(2021.1.27)
-
CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths:dsu on tree + 状态压缩(2021.1.29)
-
P4593 [TJOI2018]教科书般的亵渎:较为基础的推式子 + 拉格朗日插值求自然幂和快速求解式子的值(2021.1.31)
-
CF1039D You Are Given a Tree:运用合并的思想贪心求解树上最多选出多少条路径的问题 + 对值域的观察 + 根分 & 二分求解”对所有 \(k\) 求 \(f(k)\),满足 \(f(k)\le\dfrac{n}{k}\)“类问题(2021.2.4)
-
P5327 [ZJOI2019]语言:线段树合并 + 虚树的思想(2021.2.7)
-
P4827 [国家集训队] Crash 的文明世界:第二类斯特林数拆幂,将原本需要 \(\mathcal O(k)\) 二项式定理才能合并的幂转化为可以 \(\mathcal O(1)\) 运用递推式合并的组合数 + 换根 dp(2021.2.12)
-
CF961G Partitions:与第二类斯特林数有关的推式子(2021.2.13)
-
P3747 [六省联考 2017] 相逢是问候:扩展欧拉定理拆幂 + 势能线段树快速找到所有需要修改的位置 + 光速幂卡常(2021.2.15)
-
CF587F Duff is Mad:对询问串长度进行根分的套路 + ACAM 与 BIT 结合动态维护多个模式串的字符串匹配问题(2021.2.18)
-
CF204E Little Elephant and Strings:SA 将字符串 LCP 有关问题转化为区间 min 有关的问题,ST 表 + two pointers 维护右端点(2021.2.26)
-
CF1225G To Make 1:对这种类似于 \(k\) 进制小数加法的 dp 方式的研究 + bitset 优化状压 dp(2021.2.27)
-
CF671C Ultimate Weirdness of an Array:扫描线 + 通过分析单调性将区间取 \(\max\) 区间求和 转化为 区间赋值区间求和(2021.2.28)
-
CF446C DZY Loves Fibonacci Numbers:斐波那契数列通项公式 + 线段树 / 斐波那契数列恒等式 + 线段树(2021.3.1)
-
CF1380F Strange Addition:线段树维护矩阵乘法(2021.3.3)
-
CF258E Little Elephant and Tree:扫描线 + 通过维护最小值个数求解非负序列中值 \(>0\) 的数的个数(2021.3.3)
-
P4766 [CERC2014]Outer space invaders:区间 dp 的一般性转移方法(我们是如何将这题由 \(n^4\) 优化到 \(n^3\) 的?观察下什么样的外星人一定会产生贡献!)(2021.3.5)
-
CF115E Linear Kingdom Races:线段树 优化 形如 \(dp_{i,j}\) 表示目前考虑到 01 序列的第 \(i\) 个位置,上一个 0/1 的位置为 \(j\) 的 DP(2021.3.7)
-
CF840C On the Bench:经典题。巧妙的 dp 状态设计 + 转移(2021.3.8)
-
AT2371 [AGC013E] Placing Squares:组合意义转化。寻找平方的组合意义(2021.3.8)
-
CF547D Mike and Fish:经典题。将”与每个点相邻的两种颜色边数差 \(\le 1\)”的条件转化为欧拉回路(2021.3.14)
-
P3679 [CERC2016]二分毯 Bipartite Blanket:霍尔定理 + 高维前缀和(2021.3.15)
-
P4322 [JSOI2016]最佳团体:分数规划 + 树上背包(2021.3.19)
-
CF1413F Roads and Ramen:直径的研究(碰到树上最长路径,不要总想点分治,想想直径有没有啥性质?)(2021.3.20)
-
P4151 [WC2011]最大XOR和路径:线性基经典题,通过复合环可以通过简单环拼成的简单结论 将生成树上所有非树边与对应的树边组成的环压入线性基(2021.3.24)
-
CF903G Yet Another Maxflow Problem:用最小割解决特殊图最大流(2021.3.31)
-
CF1119H Triple:运用 FWT 是线性变换这一事实解决形如 \(\prod\limits_{i=1}^n(A+Bx^{a_i})\) 的集合幂级数之积(2021.4.4)
-
CF497E Subsequences Return:求解一个序列本质不同子序列个数的 DP 方法(2021.4.5)
-
P5643 [PKUWC2018]随机游走:Min-Max 容斥 与 树上高斯消元的完美结合(2021.4.12)
-
CF516D Drazil and Morning Exercise:直径中点的性质(2021.4.14)
-
P3343 [ZJOI2015]地震后的幻想乡:状压 dp + “设 \(f_S\) 表示 \(S\) 中点组成连通图的个数” 和 “\(g_S\) 表示 \(S\) 中点组成不连通图的个数”(2021.4.18)
-
P3307 [SDOI2013]项链:简单数论 + polya 定理 + “\(c\) 种颜色组成的长度为 \(n\) 的环,满足相邻格子颜色不同的环的个数 \((c-1)^n+(-1)^n(c-1)\)” 的结论 + 对于分母是 MOD 的倍数的情况,将 \(MOD\) 变为 \(MOD^2\) 的小 trick(2021.4.23)
-
P6624 [省选联考 2020 A 卷] 作业题:矩阵树定理 + 简单生成函数技巧(\(1+wx\))求所有生成函数边权和之和(2021.5.1)
-
P6478 [NOI Online #2 提高组] 游戏:二项式反演 + 树上背包(2021.5.4)
-
CF838D Airplane Arrangements:经典模型,拼链成环后出现对称性(2021.5.8)
-
P7515 [省选联考 2021 A 卷] 矩阵游戏:对于“求解一个矩阵,满足每个 \(2\times 2\) 的子矩形都满足 xxx 条件的题”,将元素写成关于某个与行、列有关的变量的形式,差分约束求解(2021.5.13)
-
P4749 [CERC2017]Kitchen Knobs:将区间操作转化为差分序列上的单调操作,DP 解决问题(2021.5.21)
-
P4655 [CEOI2017]Building Bridges:李超线段树优化 DP(2021.6.2)
-
CF193E Fibonacci Number:斐波那契数列模 \(10^k\) 的循环节为 \(1.5\times 10^k\) 的经典结论 + 一步一步向上递归求解(2021.6.2)
-
AT1998 [AGC002D] Stamp Rally:Kruskal 重构树 + 倍增(2021.6.22)
-
P3266 [JLOI2015]骗我呢:组合意义转化后 双折线计数(2021.6.23)
-
P3643 [APIO2016]划艇:简单组合数学 + 前缀和优化 DP,不过这个模型倒是挺经典的(2021.6.26)
-
P5471 [NOI2019] 弹跳:堆优化存边 + 线段树套 set 求解矩形内数点 + 删点(2021.6.29)
-
CF917D Stranger Trees:经典题。cayley 定理 + 运用 cayley 定理组合意义进行树上背包(2021.4.2,不过是 2021.6.30 写的题解所以排在了最后一位)

浙公网安备 33010602011771号