2023/8/4 ZR B 连通性、模拟费用流 听课总结

连通性相关

无向图

DFS 树

性质见课件。

边双连通

两点间有两条边不相同的路径。

每个点恰好属于一个边双连通分量。由割边连接。

缩点形成树。

点双连通

两点间有两条除起点终点点不相同的路径。孤立点是点双连通分量。

每条边恰好属于一个点双连通分量,每个点可能属于多个。由割点相连。点双中任意两点间路径覆盖所有点和边。

缩点形成树,即圆方树。

圆方树上可 DP。

耳分解

边双由耳分解得到;至少三个点且无自环 的点双由开耳分解得到。故点双弱于边双。

耳分解:\(S=\{1\}\),不断选取 \(u,v\in S\),新建一条 \(u,v\) 间的链或 \(u\to u\) 的环。

开耳分解:只能链不能环。

看论文。

例题:[SNOI2013] Quare

DP。

双级定向

定义: 无向图 给定 \(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

割边问题

无向图割掉两条边,使图不连通。

定义两条边切边等价,当且仅当任意一个环要么同时包含它们,要么同时
不包含它们。

或者,切边等价类就是所有简单环加加减减可以形成的那些不可
划分的最小点集。

随机 hash 求,然后割掉同一等价类中的边即可。

有向图

无向图圆方树可以很好地刻画环的问题,而有向图中,环由 DFS 树和指定非树边唯一确定。

例题:CF1515G

模拟费用流 / slope trick

模拟费用流可以证函数凸性;费用流每次增广费用单调递减。

posted @ 2023-08-16 17:05  Network_Error  阅读(25)  评论(0)    收藏  举报