【学习笔记】《综述图论中连通性及相关问题的一些处理方法》
2023 集训队论文第一篇。
发现好像存在很多我不会 / 见过但是从来没记住过的结论之类的,所以这篇主要是背结论用的。
记
无向图
- 点/边割集:对于一对点
,若删去一个点集 后 ,那么称 为 的点割集,同理对边集 定义边割集。 - 点/边连通度:对于一对点
,若任意 的点割集大小大于等于 ,则称 是 -点联通的,同理定义 -边联通。图的连通度是任意点对之间的连通度的最小值。 - Menger 定理:对于任意
,
是 -边连通的,当且仅当存在 条 的两两边不交的路径;
是 -点连通的,当且仅当存在 条 的除端点外两两点不交的路径。
这可以通过最大流最小割定理得到。
双连通性
即上述定义中的
点双连通分量的性质
- 对于点双连通分量中任意不同两点
,存在经过 的简单环。
直接应用 Menger 定理即可得到。 - 对于点
和边 ,存在同时经过点 与边 的简单环;对于任意两条边 ,存在经过 的简单环。
可以将边 拆成 ,这样包含 就变成了包含 ,于是就和上一个定理相同了。 - 共环:若存在一个简单环同时包含
,则称它们是共环的。这是一种等价关系,由此可以得到点双连通分量中的边为共环关系得到的等价类。由此其实可以得到,边双是对点集的划分,点双是对边集的划分。 - 对于点
和边 ,存在经过 的简单路径 。
我们可以找到一个包含 的简单环,并找到一条 的路径,满足这条路径与环的交大于 (若不存在则 为割点),然后把环与路径拼起来,删掉环上一段就能得到一条路径了。
耳分解
耳分解是对双连通图的另一种刻画。
- 耳/开耳:对于无向图
与其子图 ,若存在简单路径或简单环 ,满足 , ,称 是 关于 的耳。特别的,如果是简单路径,也称 是 关于 的开耳。 - 耳分解/开耳分解:对于无向连通图
,若存在子图序列 满足: 是简单环(可以是单点), ; 是 的子图;- 设
,则 构成 的一个耳(开耳);
则称 是 的一个耳分解(开耳分解)。
- 无向连通图
存在耳分解当且仅当 边双连通;至少三个点的无向连通图 存在开耳分解当且仅当 点双连通。
边双的证明:必要性直接归纳可得,充分性考虑在 DFS 树上先随意找一个环,然后每次找到一个不在点集但父亲在点集的点,然后根据边双连通性,一定存在一条返祖边覆盖这条边,然后找到这条边构造一个耳,一直重复这个过程一定会使得点集等于全集,然后再依次加入每一条边即可。
点双的证明是完全一样的,找返祖边时改成找覆盖这条边与其父亲的边即可。 - 双极定向:给定一张无向图,给边定向,使得这张图成为一张 DAG,且只有一个入度为
的点 与一个出度为 的点 。存在这样的方案,当且仅当连一条 的边后,这张图点双连通。
充分性:点双连通等价于存在开耳分解,考虑首先得到一个 为 加上 的环,根据上述构造证明容易发现存在这样的方案,然后去掉 的边,然后每次加入一个开耳,只需要判断首尾的偏序关系,然后进行定向即可。
必要性:考虑反证,如果不是点双那么存在割点,删除一个后一定存在一个包含 和一个不包含 的连通块,考虑这个割点与两个连通块的连边方式,发现要不然会出环,要不然无法满足双极性。
对于实际的构造来说,判断首尾偏序关系是比较困难的,有一个好做法是找出一棵 DFS 树,然后每次只保留叶子的最浅的返祖边,这显然不影响点双连通性,然后此时所有叶子都是二度点,二度点可以直接缩起来,这样一只删叶子即可,于是这样就能得到一个简单的构造方法了。
割空间与环空间
- 割集:定于无向图的割集为,对于无向图
的二划分 ,其割集为 ,记做 。 - 树的任意一个边集都是割集。更多的,如果两个点之间经过了奇数条割集中的边,则两个点不在同一集合内,否则在同一集合内。
- 图的割集与其生成树的割集一一对应。生成树的割集与点集划分是一一对应的,而点集划分又与图的割集一一对应。
- 割空间:若将割看作
上的 维向量,那么一张图的所有割集构成 维线性空间,其中 为连通块数。
对于单个连通块来说,树的情况显然,对于非树边来说,其是否在割集中取决于路径上有多少边在割集上,这是取决于奇偶性的,而维度可以由一组基来决定,显然在生成树上每一条边可以构成一组基。那么容易证明这是一个 维线性空间。多个连通块容易得到是 维。 - 环空间:考虑所有满足每个点度数都是偶数的子图
,其中把 看作 上的 维向量,这也构成一个线性空间,称为环空间,维度为 ,其中 为连通块数。
线性空间的证明显然,对于基来说,考虑 DFS 树上所有非树边形成的环,这些环就是环空间的一组基。 - 同一张图的割空间与环空间互为正交补。
考虑证明任意两个基正交,考察树边 与非树边 ,若 不在路径 上,那么两者无交;否则,交只有 两条边,两种情况均正交,而两者的维度之和等于 ,所以两者互为正交补。 - 判断一组边集是否为割集:对于每一条边,我们给他赋一个向量作为权值,对于非树边,其权值只有这条边的位置为
,对于树边,其权值的所有的跨过它的非树边为 ,其它为 。发现,对于一条非树边来说,其对应的割集的权值之和恰好等于 ,那么由于割集是线性空间,所有割集的权值之和就都是 。于是我们只需要判断边集的权值和是不是 即可。实际上我们并不好直接对向量进行操作,于是一半我们会给每一位赋一个随机权值,判断异或和是不是等于 。 - 切边等价:对于上述定义中的权值,如果两条边的权值等价,那么就说这两条边切边等价。
切边等价与下述几个条件等价: 均是割边;或者 在同一边双连通分量,且删除 后这个边双连通分量不再连通;- 对于任意一个环,要不然同时包含
,要不然同时不包含 。
切边等价与第一个条件直接由定义可以得出,考虑证明后两者等价。
前者推后者:假如此时有某一个环包含 而不包含 ,那么由于 不是割边,根据前者, 也不是割边,故可以删去 ,此时图仍然连通,由于 在环中,删去一定仍然连通,此时边双仍然连通,矛盾;
后者推前者:假如删除 后 不是割边,那么说明存在一个环包含 而不包含 ,矛盾,所以前者一定满足。
- 非割边的切边等价类能被环空间线性表出(P6914 [ICPC2015 WF] Tours)。
有向图
可达性问题
就是传递闭包。
静态可达性有经典的 Floyd,bitset 优化即可
区间可达性查询:给定一个 DAG,边有编号。
类似上一个做法,我们设
考虑每次转移一条边
有经典做法:把询问分块,然后每次只考虑一个块内的所有询问,这样时空复杂度就是
动态可达性:给定有向图,每条边为黑色或白色,初始时所有边均为黑色,
考虑询问分块,块内所有修改与查询涉及到的点至多有
总结来说,常见做法就是 bitset 加询问分块。
强连通性
- 若
能到达 且 能到达 ,那么称 强连通。由这样的等价关系形成的等价类称为强连通分量。 - 耳分解:在有向图上,有同样定义的耳与耳分解,同样的,有向图
可耳分解,当且仅当 强连通。
必要性仍然是直接归纳可证的,充分性继续考虑 DFS 树上构造。考虑 Tarjan 算法的过程,容易发现强连通当且仅当对于 , 。
那么按照 从小到大考虑每一个点,初始 只包含 ,每次考虑一个点,此时 包含 内的所有点,由于 ,说明 一定存在后代连向 的路径,于是这条路径就是一个耳,加入这条路径。然后再依次加入没有加入的边即可。 - 无向图
可以被定向为强连通图,当且仅当 边双连通。
必要性显然,充分性可以考虑耳分解然后定向。 - App 管理器:混合图
可以被定向为强连通图,当且仅当将有向边变为无向边时,图边双连通,且将无向边拆成一对有向边时,图强连通。
证明咕了。
有向环
这里我们研究的是有向图中的所有环的边权和在模意义下的性质,下面的
- 可环覆盖图:若有向图
的每个点的入度等于出度,则称 是可环覆盖的。可环覆盖的有向图的边集可以表示成若干个简单环的不相交并。 - 强连通图中,若存在一条路径
的边权和为 ,则存在路径 使得其边权和 满足 。
如果 结论显然,否则我们可以任意找一条路径 ,然后进行 ,一共进行 次 与 次 ,这样模意义下边权和就是 。 - 强连通图
中,对于每条边 ,边权为 ,建立一条新边 ,边权 。这样会得到一张边权具有反对称性的新图 。 和 的所有可环覆盖子图边权和的集合在 意义下等价。
于是,我们在考虑这样的图的环时,只需要考虑其对应的具有反对称性的新图即可。在这张图上,我们求出 DFS 树后,可以看作能够在树上双向行走,而容易发现,树上路径 的路径长度必定是 。 - 在边权具有反对称性的图
上,将仅包含一条非树边的简单环(这里树边的反向边不算作非树边)称为基本环。则任何一个 的可环覆盖子图的边权和等于一些基本环的边权和的整系数线性组合。
考虑任意一个环依次经过的非树边 ,其环长应当等于 ,变换一下即可得到 ,这就等于所有基本环的和。 - 强连通图
的所有可环覆盖子图的边权和的最大公因数,等于所有 的最大公因数,其中 是所有非树边。 - 有向图的周期:我们定义一张有向图的周期为,从任意一个点开始,在走有限次后,每走
条边一定会走回原来的位置,称最小的 为周期,走的有限次为幂敛指数。
后者没有直接的方法计算,我们考虑周期。对于强连通图来说,这其实就是在说所有环长的 ,也就是上述的所有基环的 。对于一般图来说,我们取所有强连通分量的 即可,这些内容感性理解比较显然。
实际上上述性质并不止在
CF1515G Phoenix and Odometers:我们只需要找出
术树数:这里可以把无向边拆成有向边,然后就可以用上述做法来考虑了。我们做一个
竞赛图
竞赛图就是一个
- 竞赛图有哈密顿路。
考虑归纳证明。 显然,假设现在有 的竞赛图,假设其哈密顿路径为 ,加入第 个点:- 若有边
,那么直接接到开头即可; - 若有边
,那么直接接到结尾即可; - 否则有边
,那么一定存在一个 使得 (可以二分找到),将 插到两者之间即可。
- 若有边
- 强连通竞赛图有哈密顿回路。
证明咕了。 - 竞赛图缩点后形成一条链,满足前面的所有点连向后面的所有点。
考虑到缩点后一定是一张 DAG,而必须是一个完全图,所以一定可以形成一条链。 - 竞赛图求强连通分量:首先找到一条哈密顿路径,那么强连通分量一定是这条链上的若干个连续区间,我们可以通过将链上的反边覆盖的所有点全部合并起来,得到所有的强连通分量。
- Landau 定理:设竞赛图中所有点按照出数从小到大排序为
, 的出度为 ,则对于 ,有 。
扩展: 的每个强连通分量都是 的连续段,且 是一个强连通分量的右端点当且仅当 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】