【汇总】何阖而晦?何开而明?角宿未旦,曜灵安藏?
\(\text{Information on Tree}\) 树上信息
套路
- 颜色种类数:优先考虑通过变化量转换为可差分信息,其次考虑 LCT 或树链剖分套 ODT 处理树上颜色段问题。
- 无边权动态直径:维护每个连通块内直径两端点 \((x_i,y_i)\),合并时新的直径有且仅有六种情况为 \((x_i,y_i),(x_j,y_j),(x_i,x_j),(x_i,y_j),(y_i,x_j),(y_i,y_j)\)。
- 树链交点:若两树链相交,则两两端点的 \(\text{LCA}\) 中的最低者必为一交点。
- distance 树分块:遍历整棵树,从下往上贪心按距离分块,\(O(\sqrt{n})\) 处理出块内距离信息。
- 树上启发式合并:对于求树上全部点对信息等问题,考虑启发式合并子树暴力求得所有信息:
- 点分治:点分治主要用于求解全局点对信息或邻域问题。题太多了。
- 区间 \(\text{LCA}\) 深度:\(\text{dep}[\text{LCA}*(l,r)]=\min_{i=l}^{r-1}\text{dep}(i,i+1)\)。
- 树上最优构造:考虑 dfs 树、dfn 序、重心、直径等关键性质,考虑链、菊花等特殊情况。
- 双树贡献:对其中一棵树做 DFS 扫描线,对于另一棵树通过 dfn 序偏序关系或树分块树上莫队等维护答案。
- 树上连通块个数:对树上连通块计数考虑点数-边数,进一步可以拓展为点边容斥。
结论
- 导出子图完美匹配:对于一棵有根树点集的子集 \(S\),设满足子树内存在奇数个属于 \(S\) 的点的结点数量为 \(t\),显然有 \(\lceil\dfrac{|S|}{2}\rceil\leq t\),该式等号成立构成 \(S\) 的导出子图存在完美匹配的充要条件。
\(\text{Graph Theory}\) 图论
套路
- 多元环/团计数:将无向边按度数小者指向度数大者的方式定向,则任意一点度数小于等于 \(\sqrt{2m}\)。拓展为团计数时每个团在拓扑序最小点(设为 \(u\))处统计,利用折半思想,将 \(u\) 的出边指向的一级邻域按拓扑序划分为两个集合,求出集合内构成团的点集,利用高位前缀和合并。
- DAG 连通性:无特殊性质时只能
bitset 状压,若存在特殊性质,考虑能否通过特殊性质在连通性不变的情况下将 DAG 转化为叶向树。
- 无向图点边染色:考虑建 dfs 树,在合法性构造的计数中讨论钦定全部非树边,在可拆分到单边贡献的计数中钦定某条边,或者进行其他方式的钦定和分讨,进而计算染色方案数或方案贡献。
- 无向图路径方案构造:考虑欧拉回路,考虑 dfs 树。如果不存在欧拉回路,通过 dfs 树上调整奇数点 \(u\) 引入重边 \((u,fa_u)\) 即可调整为存在欧拉回路的无向图。
- 网格多点形成封闭多边形判定:行列连边转换为二分图模型,若图中存在环则存在若干格点围成封闭四边形。
- 无向图路径最大值最小:建 Kruskal 重构树。
结论
- 点权最短路:点权最短路的松弛次数是 \(O(n)\) 的,且每个点至多被松弛一次。
\(\text{Optimization}\) 最优化问题
- 最优字典序:逐个填数判断后续序列的合法性,维护每个位置填上使后续序列依然合法的最优数值。
- 反悔贪心:如果存在容量限制,要求最大/最小化收益,若所有决策的代价相同/可以转换为相同,或所有点的收益相同,则可以考虑反悔贪心。
- 凸性质:若可以对最优化问题建出费用流模型,则问题费用关于流量具有凸性,在不给定流量限制的情况下要求得最大/最小费用,则可以考虑三分后进行朴素贪心或反悔贪心。
\(\text{Counting}\) 计数
- 二项式反演:将恰好一类条件转为至多/至少,列出反演式子进行计数,常见的是直接进行交并集容斥。
- 组合意义:通过转化组合意义,直接写出组合数或 Stirling 数 Catalan 数等式子。
- 容斥 DP:若 DP 条件容易二项式反演且时间复杂度允许,可以在 DP 状态中带上容斥系数进行转移。
- 贡献提前/贡献延迟:对于一些在当前时刻不便于计算的贡献,考虑记到状态里,在某阶段处理完后再贡献,或在一开始提前贡献。
- 排列计数:排列相关的计数问题在绝大部分情况下需首要考虑连续段 dp 或插入 dp。
- 计数的去重方法:(1)定序(2)容斥(3)标志物
- 方程法转换限制:如果存在 \(k\) 个服从方程或不等式限制的变量,存在知 \(\frac{k}{2}\) 推 \(\frac{k}{2}\) (或其他知几推几)的关系,且被推出的元素限制相互独立,可以枚举一部分的变量,推出其他变量的限制直接计算。
- 树上 Prufer 经典结论:
- 线性基计数:要么考虑数位 DP 算合法最简线性基方案数,要么列线性方程组算高斯消元后自由元个数。
- 计数转期望:在一些特殊情形下,计数 DP 可以转为期望优化时间复杂度。
\(\text{DP}\) 动态规划
- 合法性判定 DP 优化:若存在记录合法性的 DP 状态 \(f_{x,y}=0/1\),且合法的 \(y\) 是一段前缀,可优化为 \(f_x=y\) 表示花费 \(x\) 最大可使前缀 \([0,y]\) 合法。若 \(x\) 有单调性,也可优化为 \(f_y=x\) 表示使前缀 \([0,y]\) 合法的最小花费为 \(x\)。
- 决策单调性 DP 优化:如果 DP 存在决策单调性,可以直接使用整体二分,对于转移 \(f_j+W(j+1,i)\rightarrow f_i\) 中对 \([j+1,i]\) 区间的复杂代价计算,使用莫队,指针移动的最大次数为 \(O(n\log n)\) 级别。
- 斜率优化:当转移的基本形式为 \(f_j+W(j+1,i)\rightarrow f_i\) 且 \(W(j+1,i)\) 为关于 \(i,j\) 权值的一次或二次函数时,可以考虑斜率优化。视函数与序列性质使用单调栈、二分栈、李超树等不同维护方式。
- 区间 DP:满足区间决策构成树结构(如删除一段区间),或可以通过区间左右端拓展得到最终答案且每次拓展连续一段,时间复杂度要求在 \(O(n^2)\) 以上,可以考虑区间 DP。
- DP 顺序:当正着 DP 后效性太强无法转移或贡献无法计算时,可以考虑倒着 DP,进行插入元素改为删除元素之类的转换。
\(\text{Data Structures}\) 数据结构
- 历史版本和问题:节点维护线性函数,懒标记维护线性函数的各项系数,转换为半群信息。
- 值域压缩维护区间和信息:对于存在复杂操作或维护固定长度子区间最值和等较复杂信息的问题,将区间和 \(\sum a_i\) 转换为 \(\sum_{x}\sum[a_i\geq x]\),此时复杂操作或信息维护可以转换为对 01 序列的操作和查询。
- 颜色种类数:颜色种类数是半群信息,只能通过扫描线区间加维护变化量解决。
- 区间复杂的群信息贡献:如果信息本质为群信息但维护线段树区间和较为复杂,考虑差分。
- 最值问题:最值问题首先转换到笛卡尔树上,然后再思考处理细节。
\(\text{Sundry}\) 杂项
套路
- 平衡规划:当数据范围为 \(n\),\(d\) 为某种对原问题进行划分的大小(序列分段长度、集合等价类大小等),若此时存在复杂度分别依赖于 \(d\) 与 \(\dfrac{n}{d}\) 的两种暴力算法,可以考虑按 \(d\) 的大小对数据进行分治。
- 存在除以 \(0\) 的反演/演绎计算:将 \(0\) 替换为 \(\epsilon\),将运算过程中的每个数记录为关于 \(\epsilon\) 的多项式,根据反演/演绎式的数学意义等可以得出最终答案必然恰将所有含 \(\epsilon\) 的项消去。
- 最长上升子序列+下降子序列覆盖:答案只可能为 \(\text{LIS}+\text{LDS}-1\) 或 \(\text{LIS}+\text{LDS}\),取决于是否所有最长上升子序列均与最长下降子序列有交。
- 排序逆序对数量变化:一定要关注逆序对数量。
- 单轮冒泡排序:前缀最值。
- 曼哈顿距离与切比雪夫距离转化:曼哈顿坐标 \((x,y)\) 变为 \((x+y,x-y)\) 原坐标系曼哈顿距离 = 新坐标系切比雪夫距离;切比雪夫坐标 \((x,y)\) 变为 \((\frac{x+y}{2},\frac{x-y}{2})\) 原坐标系切比雪夫距离 = 新坐标系曼哈顿距离。
- \(\min/\max\) 与绝对值的转换:\(\min(a,b)=\frac{a+b-|a-b|}{2}\),\(\max(a,b)=\frac{a+b+|a-b|}{2}\)。
- 序列上复杂操作求任意次操作后最优序列权值:从前缀和与差分或类似角度考虑进行转换,尽量转换为交换这种可以使最终结果为任意排列的操作。
- 0-1 序列操作:0-1 序列上操作 00 和 11 不好处理,考虑翻转所有偶数位,转换为对 01 进行操作。
- 简单博弈问题:如果非公平或非对称,考虑双方的最优策略;如果对称,考虑一方模仿;如果零和,考虑奇偶性等结论或动态规划;如果非零和,考虑动态规划。
结论
- 齐肯多夫定理:称将一个数划分为若干不连续不相等 Fibonacci 数的方案为 Fibonacci 表示,则对任意正整数有 Fibonacci 表示存在且唯一。
- 极小 Mex 区间:若一个 Mex 区间内不存在子区间 Mex 与其相同,称为极小 Mex 区间,在一个长度为 \(n\) 的序列中,这样的区间数量不超过 \(2n\) 个。
posted @
2025-08-26 15:48
剑履山河
阅读(
35)
评论()
收藏
举报