序言
最近Tarjan什么的真的是太多啦!
我也只能笑笑不说话了……F♂a~~Q~~
没有学习国家历史的动力了……所以我跑来写博客。
前排膜拜百科不能……
dalao博客镇场
这篇博客是真的不会有公式了!我不会骗你的!图论能有公式?!我都佩服我自己。
我是宋symbol,界个手机实在是太好玩啦。
前置技能
强连通分量
详见另一篇Blog。
现给出连通无向图 G(V,E) G ( V , E ) :
割点
若将点 Vi V i 删去能使图割裂为多个连通块,则称 Vi V i 为图 G(V,E) G ( V , E ) 的一个割点。
桥
若将边 Ei E i 删去能使图割裂为两个连通块,则称 Ei E i 为图 G(V,E) G ( V , E ) 的一条桥。
点-双连通图
如果任意两点至少存在两条点不重复路径,则称该图为点-双连通的。(任意两条边都同在一个简单环中)
边-双连通图
如果任意两点至少存在两条边不重复路径,则称该图为边-双连通的。(任意一条边至少在一个简单环中)
点-双连通分量
点-双连通的极大子图称为点-双连通分量。
边-双连通分量
边-双连通的极大子图称为边-双连通分量。
前置技能Get!!
Tarjan
Tarjan全家桶中,双连通分量的求解即可化为割点和桥的求解。
求解割点(点-双联通分量)
由割点的定义,我们可以得到割点的性质:在割点
u
u
的一颗子树内,不存在连向点祖先的返祖边。
由此,我们可以得到割点的求解方式:
在图
G(V,E)
G
(
V
,
E
)
中,对于一个点
u
u
,若存在出边使得
dfn(u)≤low(v)
d
f
n
(
u
)
≤
l
o
w
(
v
)
,则点
u
u
是图的一个割点。
在求解出割点后,我们便可以得到割点之间的点-双联通分量
求解桥(边-双联通分量)
由桥的定义,我们可以得到桥的性质:桥
(u,v)
(
u
,
v
)
的两端点
u,v
u
,
v
必定在不同的块中。(判连通时不包含桥
(u,v)
(
u
,
v
)
)
由此,我们可以得到桥的求解方式:
在图
G(V,E)
G
(
V
,
E
)
中,对于一条出边
(u,v)
(
u
,
v
)
,若
dfn(u)<low(v)
d
f
n
(
u
)
<
l
o
w
(
v
)
,则出边
(u,v)
(
u
,
v
)
是图
G(V,E)
G
(
V
,
E
)
的一条桥。
在求解出桥后,我们便可以得到桥之间的边-双联通分量
以上便是双联通分量的求解思路。