Loading

图论的一些知识

  • tarjan 算法
  • 虚树
  • DAG 剖分
  • 矩阵树定理
  • 最小树形图 ( )
  • 斯坦纳树 (感觉可以看看?)
  • 同余最短路
  • 平面图 and 对偶图
  • 线性规划
  • 网络流
  • 一般图最大匹配 ( )
  • Prüfer 序列
  • 竞赛图
  • 稳定婚姻问题
  • 2-sat
  • 仙人掌
  • Dilworth 定理 ( )
  • 三/四元环计数 \(O(n \sqrt n)\)
  • LGV ?

tarjan 算法

有向图 \(\to\) 强连通分量

无向图 \(\to\) 广义圆方树

一些性质:

  • 点双中任意两个点之间都存在至少两条不相交的路径 (除去起点和终点)。

虚树

关于虚树的几种方法:

  • 求虚树的点数 (点数) \(\to\) 每两个点的 $\operatorname {lca} $ 所构成的集合大小
  • 求虚树的边数:
  1. 按照 dfs 序排序之后相邻两项的距离之和(包括第一项和最后一项)再除以 \(2\)
  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

主要是建模

仙人掌

板子,但不常用。

Dilworth 定理

支配树?

posted @ 2023-10-15 19:59  Bobby7000  阅读(141)  评论(0)    收藏  举报