耳分解 双极定向 竞赛图

耳分解 双极定向 竞赛图

抄论文 抄 JCY

耳分解

对于图 G=(V,E) 的子图 G=(V,E),若一条简单路径或者简单环 x1,x2,xk 满足 x1,xkV,x2,,xk1V,那么称之为一个耳,如果是简单路径则称之为开耳。

如果能将图分为一个子图序列 G0,G1,Gk,其中 G0 为一个环,且 Gi+1Gi 是一个(去掉首尾的)耳,那么称之为一个耳分解。如果全是开耳则为开耳分解。

在有向图中也能类似地定义。

  • 无向图边双连通 存在耳分解;
  • 无向图点双连通 存在开耳分解;
  • 有向图强连通 存在耳分解。

显然。 构造耳分解,考虑从某个点作为根 r 开始,时刻维护当前子图是个包含 r 的连通块 (V,E)。对于以 r 为根的 dfs 树,一定存在一个点 x 满足 xV,faxV,那么一定存在一条非树边覆盖 (fax,x) 这条边,从 fax 的某个祖先 u 出发,到 x 的某个后代 v,那么即找到一个 u,x 为两端点的耳,可以将其加入。最后 V 为全集时即可直接将剩余还不在 E 中的边加入。(开耳分解就是 u 可以为 fax

对于有向图, 直接归纳; 考虑以 1 为根求出 dfs 树以及 dfs 序,按照 dfs 序从小到大加点,(为了方便表述按照拓扑序重标号)如果 x 已经在当前子图 G 中则跳过,否则考虑此时 1,2,x1 均在 G 中,而 lowx<dfnx 说明 x 存在后代 y 使得存在边 yp 其中 p<x,那么加入 faxxyp 这个耳即可。

将无向图 G 定向为强连通图当且仅当 G 边双连通

若存在割边则不合法。否则考虑将耳分解中的所有耳均定向为有向环或者有向路径即可。

双极定向

对于无向图 G 和两个点 s,t,以下四个命题等价:

  1. 连接 (s,t) 之后点双连通。
  2. G 中圆方树方点构成一条链,st 是圆方树的一条直径。
  3. 能将 G 定向为一个 DAG,使得 s 无入度且 t 无出度,其余点出入度均不为 0。(双极定向)
  4. 存在一个排列 p1=s,p2,,pn=t 使得任意前缀以及任意后缀的导出子图是连通的。

其中 1. 2. 等价显然;4. 的排列就是 3. 中的拓扑序。

由 1. 推 3.:初始时挑出包含 s,t 的环,定向。开耳分解时根据两端点的拓扑序来确定耳上边的方向。(实现的话复杂度是平方的)

由 4. 推 2.:考虑逆否命题。将排列看成不断将白点染成黑点,时刻保证黑色白色内部连通。存在一个割点周围有至少三个点双,那么在染黑它之前至少有两个白色点双连通,染黑它之后这两个白色点双就不连通了。

如何简易地给出双极定向的构造(P9394 白鹭兰):

对于一个点只保留父边以及子树最浅返祖边(也就是 low 记录的那个)不会影响点双。对于叶子 u 可以在这两个点任意之一被染黑后立刻染黑 u,所以在这两个点的记录的列表 Lx 中 push_back u,将 u 删去,不断剥叶子即可。从根开始遍历列表递归染黑即得到一个合法构造。

s 为根,不去剥 t,这样子求出所有 L 之后,对 st 路径上的每个 L 依次进行递归染色即可。染 tt 就是最后一个染完的(否则那个没被染的点并没有往上连的返祖边,也就是存在割点)。

求出拓扑序之后便可求出双极定向。

例题:洛谷 P9394 白鹭兰,QOJ 4805。

竞赛图

竞赛图构造哈密顿路径:时刻维护一条链,尝试整合。

强连通竞赛图构造哈密顿回路:对于哈密顿路径从前往后,时刻维护一个环以及后缀一条链,保证环全都是连向链。往链后面 push_back 点的时候如果该点有连向环的边,那么就将链整合进环中。

强连通竞赛图是泛圈的:对于 3inG 均存在长度为 i 的简单环。

由于已经有长度为 n 的环,只需证明存在长度为 n1 的环,从而其导出子图是大小为 n1 的强连通竞赛图,即可完成归纳。考虑构造哈密顿回路的过程,如果加入最后一个点之前已经是一个 n1 的环那么直接就找到了,否则将链的开头去掉,结尾 push_back 最后一个点,再将这个链整合进环中即可,

Landau 定理:竞赛图出度序列 p1p2p3...pn 合法当且仅当 i=1npi=(ni),且 i=1tpi(t2),并且取等处的 t 即为缩点后的 scc 划分处。

st 的最小割:初始 S={s},T=V{s},此时割的大小就是 ST 的边数。考虑将一个点 xT 扔到 S 的时候,最小割的变化量为:iT[(x,i)E]iS[(i,x)E]=iT[(x,i)E](|S|iS[(x,i)E])=outx|S|。所以将出度从小到大排序,一定是扔一个前缀。

posted @   do_while_true  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
历史上的今天:
2021-04-27 第三届山东省青少年创意编程与智能设计大赛总结

This blog has running: 1845 days 1 hours 33 minutes 11 seconds

点击右上角即可分享
微信分享提示