图论的一些知识
- tarjan 算法
- 虚树
- DAG 剖分
- 矩阵树定理
- 最小树形图 ( )
- 斯坦纳树 (感觉可以看看?)
- 同余最短路
- 平面图 and 对偶图
- 线性规划
- 网络流
- 一般图最大匹配 ( )
- Prüfer 序列
- 竞赛图
- 稳定婚姻问题
- 2-sat
- 仙人掌
- Dilworth 定理 ( )
- 三/四元环计数 \(O(n \sqrt n)\)
- LGV ?
tarjan 算法
有向图 \(\to\) 强连通分量
无向图 \(\to\) 广义圆方树
一些性质:
- 点双中任意两个点之间都存在至少两条不相交的路径 (除去起点和终点)。
虚树
关于虚树的几种方法:
- 求虚树的点数 (点数) \(\to\) 每两个点的 $\operatorname {lca} $ 所构成的集合大小
- 求虚树的边数:
- 按照 dfs 序排序之后相邻两项的距离之和(包括第一项和最后一项)再除以 \(2\)。
- 子树中至少包含一个点的点数减去 \(lca\) 的祖先个数。
DAG 剖分
要求总路径数不是很大 (一般配合 SAM 求第 \(k\) 大字串)。
每个点指向路径数最大的一条边,称为重边,这样一条路径最多跳 \(\log\) 条轻边。
可以用倍增做到 $\log ^2 $ 。类似的情况可以使用可持久化平衡树。保证合并复杂度 \(O(\log)\)。
矩阵树定理
同余最短路
一般在值域较小的背包问题中使用,求最短路时直接转两圈就完了。
平面图 and 对偶图
就是个板子
线性规划
也是个板子
网络流
部分模型:
-
有若干个值为 \(a_i\) 的 \(0/1\) 变量 代价必须形如:
\( \begin{cases} a_i \times c \\ (1-a_i) \times c \\ a_i \times (1-a_j) \times c \end{cases} \) -
边的代价随流量的变大而变大
-
转对偶图后的类似于欧拉回路的建图
一般图最大匹配
带花树:?
Prüfer 序列
- 广义 Prüfer 序列
竞赛图
缩点后一定是一条链。
- $O(n) 求强连通分量大小 $
- 找一条哈密顿回路 / 通路
- \(n\) 较小时的枚举多少个点集没有出边
稳定婚姻问题
就用过一次
2-sat
主要是建模
仙人掌
板子,但不常用。

浙公网安备 33010602011771号