复习导引

复习导引

Part1 序列类

  1. 多功能型:

1.1分块,莫队(奇偶排序加速莫队)

1.2树状数组

1.3线段树,函数式线段树,可持久化函数式线段树(主席树),\(\text{Segmentbeats}\)(吉老师树) , \(\text{ZKW}\)线段树,线段树合并

1.4二叉堆,左偏树,配对堆,可持久化左偏树

1.5平衡树:\(\text{Splay}\)\(\text{Treap}\),非旋\(\text{Treap}\),可以持久化非旋\(\text{Treap}\)

1.6李超树

17.线段树分治,半动态线段树分治(一边分治一边得到加边的范围)

1.7\(\text{K-D Tree}\)

1.8树套树,\(\text{CDQ}\)分治,高维问题

1.9莫队二次离线

2.特殊型:

2.1单调栈/单调队列,\(\text{Sparse\_Table}\),笛卡尔树

2.2并查集,按秩合并,可持久化并查集

(2.3猫树,珂朵莉树)

\[ \ \]

\[ \ \]

\[ \ \]

\[ \ \]

dp

1.决策单调性

分治决策单调性,四边形不等式

2.斜率优化

单调栈/单调队列维护凸包,单调队列查询或者二分单调栈

以及李超树暴力维护

3.分数规划

形如求\(\displaystyle(\frac{p}{q})_{max}\)的,二分答案\(k\)然后求\((p-kq)_{max}\),称为分数规划

4.数位dp

注意 正向/逆向dp 的大小判断方法

5.插头dp

熟悉二进制维护状态的方法

6.有限自动机上的\(dp\)状态定义

7.花样容斥

7.1奇偶容斥\((-1)^{j-i}\),二项式反演

7.2\(\text{MinMax}\)容斥 [ZJOI2020] 抽卡70分做法

7.3分层图容斥(巨神兵)

8.状态割裂 (COCI20162017 Contest#6 F)

9.二项展开/斯特林数展开求\((\sum)^k\)

10.小体积的背包问题

11.降阶子问题[HDU-6848]

12.\(dp\)\(dp\)

13.无限问题的循环节\(dp\) 「CTS2019 | CTSC2019」重复

14.树上动态\(dp\)

15.\(\text{dfs}\)\(dp\) [HDU-5909] 「清华集训2016」连通子树

16.斯坦纳树 「THUSCH 2017」巧克力

\[ \ \]

\[ \ \]

\[ \ \]

树上

1.倍增,树剖,\(\text{tarjan LCA}\)\(\text{Euler}\)\(\text{LCA}\)

2.合并连通块的直径

3.\(\text{DSU on Tree}\)

4.点分治/边分治,动态点分治

边分治:将多度点建立虚边,下分为二叉树,然后找到边中心

5.虚树

6.树\(\text{hash}\)

7.\(\text{Kruskal}\)重构树

8.\(\text{Prufer}\)序列\((n^{n-2})\)

9.最小树形图[朱-刘算法]

10.多树问题:点分治+虚树+数据结构

11.\(\text{LCT}\)

(12.\(\text{Top Tree}\))

(13.树分块)

图论/线性规划

\(G=(V,E)\)

1.点双,边双

2.基环树

3.仙人掌,圆方树

4.\(\text{SPFA,Dijkstra,Johnson}\)

5.差分约束

6.网络流,预流推进,费用流,\(\text{Dijkstra}\)费用流,上下界网络流,最大流/最小割树,(\(\text{Stoer-Wagner}\)算法)

7.二分图匈牙利,一般图带花树,带权\(\text{Kuhn–Munkres}\)(注意复习Luogu/UOJ上的\(\text{BFS}\)版本)

8.\(2-\text{sat}\),注意方案输出方法

9.欧拉回路(UOJ模板),(哈密顿路?)

10.平面图的欧拉定理

(11.弦图)

12.对偶

13.单纯形

14.拟阵交

\[ \ \]

\[ \ \]

\[ \ \]

字符串

1.\(\text{hash,kmp,AC Automaton}\)

2.\(\text{Manacher}\)(马拉车。。),\(\text{Palindrome Automaton}\)(回文自动机)

3.\(SA\)后缀数组(倍增,DC3,SAIS),\(SAM\)后缀自动机,广义\(\text{SAM}\)(多串)

\(\text{SA}:\)常见:按照\(\text{LCP}\)大小分段进行统计

\(\text{SAM}:\)结合树,\(\text{LCA}\)

4.\(\text{Trie}\)即可持久化

5.\(\text{Period,Border}\)

6.(\(\text{Exkmp}(Z\)函数\()\))

7.\(\text{Lyndon}\)分解

8.最小循环同构\(O(n)\)

9.\(\text{Runs}\)

\[ \ \]

\[ \ \]

\[ \ \]

\[ \ \]

贪心/博弈/结论

1.\(\text{Nim}\),反\(\text{Nim}\)\(k\)进制\(\text{Nim}\) (CodeChef November Challenge2019 Winning Ways)

2.威佐夫博弈

\[ \ \]

\[ \ \]

\[ \ \]

数学

\(\text{Matrix-Tree}\)定理即扩展

11.\(\text{DAG}\)\(\text{LGV}\)引理 [HDU-5852]

\[ \ \]

\[ \ \]

\[ \ \]

\[ \ \]