1、图论相关:
(1)简化问题思路:
P7323 [WC2021] 括号路径(3点)
CF1503F Balance the Cards(3点合并)
如链上的二分查找对应树上的点分治
CF566C Logistical Questions
(2)查看一个点是否在一条路径上:须满足该点到路径两端点的距离和等于两端点的距离(充要)
P3398 仓鼠找 sugar
CF1083C Max Mex
一个类似的在一般图中的充要条件:求 S→T 的最短路可行边:分别以 S/T 为起点,跑最短路得到dist1,dist2 ,如果两端 dist 之和加上边的长度为最短路,则当前边出现在一条最短路中。(用在最短路有很多条的时候)
P7669 [JOI2018] Commuter Pass
(3)单源最短路径构成一棵树,称为最短路树。
P5201 [USACO19JAN]Shortcut G
(4)差分约束最短路行不通跑最长路
P6145 [USACO20FEB]Timeline G
(5)常见思路:几个点两点距离之和<->算每条边的经过次数(个体贡献)
P3177 [HAOI2015] 树上染色
(6)拆边为点
P2387 [NOI2014] 魔法森林
2、维护双指针更新答案
CF1641D Two Arrays
CF1630B Range and Partition
CF1418F Equal Product
3、根号算法相关
(1)根号分治:两个极端情况分别有一个复杂度优的算法,平衡点在根号位置上
P5443 [APIO2019]桥梁(询问分块)
KK1736 余数世界3
P5901 [IOI2009] regions
P3591 [POI2015] ODW
P5071 [Ynoi2015] 此时此刻的光辉
遇到周期性的东西,想到根号分治
CF1580C Train Maintenance
有一种特殊的周期性——等差数列相关问题
等差数列修改(根号做法:根号分治,分块,莫队)
P5313 [Ynoi2011] WBLT
P5309 [Ynoi2011] 初始化
另一类问题利用等差数列性质:%d相同;极差与区间长度的关系
P5278 算术天才⑨与等差数列
CF407E k-d-sequence
(2)修、查复杂度权衡
(例子:莫队O(n根号m)单点修,O(m)查询,适合套用分块数据结构(O(1)修,O(根号n)查),而不是BIT等(修、查都有log))
P4396 [AHOI2013]作业
BZOJ 4241 历史研究
P7983 [JRKSJ R3] practiceZ
(3)bitset套莫队
P4688 [Ynoi2016] 掉进兔子洞(为了用bitset,相同的数x共出现z次,用z位来填充,一个数出现i次,从它所对应的位置开始填i位1,z-i位0)
P5355 [Ynoi2017] 由乃的玉米田
(4)对于带区间染色操作的分块题,可以序列分块,然后对每个块特判其是否为同色块,在这个基础上再用颜色段均摊。
P7983 [JRKSJ R3] practiceZ
(5)整块当作全局操作,可以均摊,剩下零散块重构问题
CF896E Welcome home, Chtholly<