图论 - 连通性相关
代码框中的内容表示有待重写。
无向图
DFS 树
- 无向图中,DFS 树只有树边、返祖边,没有横叉边、前向边。
- 每个子树对应 DFS 序的区间,区间两两无交或包含。
- 点双连通分量和边双连通分量是 DFS 树上的连通块。
### 点 / 边 k 连通
边双连通
定义:两点间有两条边不相同的路径。
性质:每个点恰好属于一个边双连通分量(边双是对点集的划分),边双之间由割边连接。缩点后形成树(森林)。
Tarjan 算法流程:
dfn 为时间戳,low 为子树内可达最小时间戳。返祖边一定不是割边,如果 \(u\) 的子树 \(v\) 不能到达子树根以上即 \(\operatorname{low}(v)\ge\operatorname{dfn}(v)\),则 \(u\to v\) 边是割边。
点双连通
定义:两点间有两条除起点终点外点不相同的路径。特别地,孤立点是点双连通分量,两点一边一般也认为是。
性质:
- 每条边恰好属于一个点双连通分量(点双是对边集的划分),每个点可能属于多个,点双之间由公共点(割点)相连。缩点形成树(森林),即圆方树。圆方树上可 DP。
- 对于一个点双中的两点,它们之间简单路径的并集,恰好完全等于这个点双,即相同点双中的两点间一定存在一条简单路径经过相同点双中任意一点。
Tarjan 算法流程:
dfn 为时间戳,low 为子树内可达最小时间戳。返祖边一定不是割边,如果 \(u\) 的子树 \(v\) 不能到达 \(u\) 以上即 \(\operatorname{low}(v)\ge\operatorname{dfn}(u)\),则 \(u\) 是割点。特别地,若根结点儿子个数 \(\bm{\ge 2}\),根结点也是割点,因此求割点要特判根结点。
圆方树上统计 - 【NOIP Round #6】遍历
圆方树上计数 - [洛谷月赛] 地地铁铁
给定 \(n\) 个点 \(m\) 条边的无向连通图 \(G\),边有黑白两种颜色,求有多少个点对 \((x, y)\) 满足存在一条简单路径 \(x ⇝ y\) 上黑边和白边都出现了。
圆方树上 DP - [2021 集训队作业] Tom & Jerry
在一张无向连通图 \(G\) 上,Tom 追逐 Jerry。每一回合由 Jerry 先行动,Tom
后行动。Jerry 每次行动可以经过任意多条边,但不能经过 Tom 所在结点;
Tom 每次行动只能经过至多一条边,若行动结束后位于 Jerry 所在位置则
Tom 获胜。现在 \(q\) 次给出 \((a, b)\),问当 Tom 和 Jerry 初始分别位于 \(a, b\) 两点
时,Tom 能否在有限时间内获胜。
耳分解
定义:
- 耳:两端点都在子图点集中的 简单路径或简单环。
- 开耳:两端点都在子图点集中的 简单路径。
- 耳分解(开耳分解):从一个 简单环(或单点) 出发,每次加入一个耳(开耳)。
定理:
- 无向连通图存在耳分解当且仅当其边双连通;
- 至少三个点的无自环无向连通图存在开耳分解当且仅当其点双连通。
故点双严于边双,点双一定是边双。
[SNOI2013] Quare
给定无向边双连通图,边带正权,求包含所有点的边双连通子图的最小边权和。
### 双级定向
**定义:** **无向图** 给定 $s,t$,定向得到 DAG,满足 $s$ 入度、$t$ 出度为 $0$,其他点入度出度不为 $0$。
**性质(顺序染色):** 耳分解后的拓扑序排列 $p$,按顺序对 $i$ 染色,$p_{1\sim i}$ 和 $p_{i+1\sim n}$ 均连通。
**结论 / 判定:** 存在双级定向,当且仅当圆方树删掉非割点(叶子)为一条链,$s,t$ 在链的两端。或者说连接 $s,t$ 后点双连通。
**证明 / 构造:**
对于圆方树的形态是一条链的情况,对每个点双分别构造。对点双做 Tarjan 算法,增量法构造。易知 $\text{low}_u\ne \text{fa}_u$。当 $\text{low}_u$ 或 $\text{fa}_u$ 被染黑时,立即对 $u$ 染色。
**例题:[CodeChef MAY19A] CUREK**
若圆方树形如一条链,取左边或右边一个权值最小的叶子即可。
否则有结论:对于所有叶子所在的分量,至多有一个全白。
**例题:[洛谷月赛] 白鹭兰 / 广义双级定向**
课件。
### 割空间、环空间
定义:课件,
不会!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
**割边问题**:DZY loves Chinese ii
> 无向图割掉两条边,使图不连通。
定义两条边切边等价,当且仅当任意一个环要么同时包含它们,要么同时
不包含它们。
或者,切边等价类就是所有简单环加加减减可以形成的那些不可
划分的最小点集。
随机 hash 求,然后割掉同一等价类中的边即可。
> 割掉 k 条边
有向图
DFS 树
有向图 DFS 树包含树边、返祖边、前向边和横插边,但非树边一定是从 DFS 序大的部分到 DFS 小的部分。
强连通
定义:任意两点都可达的点集叫做强连通分量。
性质:
- 和边双连通性质类似,每个点属于恰好一个强连通分量,缩点后图将变成一个 DAG。
Tarjan 算法流程:dfn 为时间戳,low 为子树内可达最小时间戳。使用 Tarjan 算法缩点之后是强连通块的编号顺序是逆拓扑序。
耳分解
耳分解:也和边双连通类似,只有强连通图才存在耳分解。
有向图环 - CF1515G Phoenix and Odometers
无向图圆方树可以很好地刻画环的问题,而有向图中,所有环由 DFS 树和指定非树边组成的基环组成。
一种做法:
- 考虑如果存在 u-v 的路径权为 w,必然存在 v-u 的路径权为 -w
- 把所有的非树边构成的环 \(\gcd\),它们构成了所有环的基
另一种做法:
- 定义包含一条边的环,形如根到 A,A-B,B 走一条路径到根
- 定义包含一个点的环,形如根到 A A 走一条路径到根
- 则对于任意可能存在的环,取出包含所有环边的环求和贡献 1,取出所有包含环上的点的环贡献 -1 发现作差之后就等于这个环。
参考资料
- 2023 集训队论文
- ZROI2023 夏 讲课及课件
- ZROI2023 国庆 讲课及课件

浙公网安备 33010602011771号