关于双联通分量的存在条件的证明(对于算法进阶的补充)

其实还是晚上的思考

为什么晚上这么多思考啊(╯‵□′)╯︵┻━┻

还有我还花了一个上午,就证了这么一个SB东西(╯‵□′)╯︵┻━┻

点双存在条件

点双联通分量的定义:一个无向连通图中不存在割点即可。

一个无向联通图是点双,当且仅当满足以下条件之一:

  1. 图的顶点数不超过2
  2. 图中任意两点都存在于至少一个简单环中(但是不是说所有点在一个简单环),其中简单环指的是不自交的环,也就是我们通常画出来的环。

1条件很明显,不说了,2条件的话,充分性很好证明,(x,y)都同时包含在至少一个简单环中,则图中一定没有割点,是点双。

但是必要性吗。。。。


引理1:对于两个相邻的点双(共用一个割点),这两个边已经满足图中任意两点都包含在一个简单环中,从这两个点双各选一个点(除了割点),连一条边,可以证明,这个新形成点双也满足这个图中任意两点都包含在一个简单环中。
证明:
在这里插入图片描述
这样两个绿点加割点形成简单环,现在我们只需要证明,存在一条简单路径能从绿点走到蓝点再走到黑点就可以了。

随便选择一个蓝点到黑点的简单环,设蓝点为(a),黑点为(b),这样就存在一条路径:(a->x_1->x_2->x_3->...->b、a->y_1->y_2->y_3->...->b),首先如果蓝点就在路径上,直接存在,如果不在路径上。
首先考虑绿点到蓝点的一条路径,其不可能与两条路径有交点。如果其只和一个路径有交点,那么直接选择即可。
在这里插入图片描述
如果与两条路径都有交点,那么按图中选法即可(找到最早有交点的路径直接走路径即可)。
在这里插入图片描述
这样就证明啦QMQ

引理2(用来补充说明上面那个引理):两个点双最多共用一个割点。
证明:如果共用两个,这两个点必然不是割点,证毕。

然后就可以证明了,对于一个点双,建立一个生成树,不断加边,最后一定会成为一个点双的(如果不能成为点双,那么说明原本就不存在点双。)


边双存在条件

边双联通分量的定义:一个无向连通图中不存在桥即可。

一个无向联通图是点双,当且仅当满足这个条件:
图中任意一条边都存在于至少一个简单环中(但是不是说所有点在一个简单环),其中简单环指的是不自交的环,也就是我们通常画出来的环。

哇,这个简直SB,充分性和上面差不多,必要性的话。

你把这个边删掉,然后不影响边左右两点的连通性,说明存在一条其他路径,加上这条边即可构成简单环啊,简直SB。

原文地址:https://www.cnblogs.com/zhangjianjunab/p/13696765.html