数学联邦政治世界观
超小超大

割点

对于一个无向图,如果把一个点删除后这个图的极大连通分量数增加了,那么这个点就是这个图的割点(又称割顶)。

换句话说,如果删除某个顶点后,导致图不再连通,那么刚才删除的顶点就是割点。

1、4、3、2、6、5

如果顶点U的所有孩子顶点可以不通过父顶点U而访问到U的祖先顶点,那么说明此时去掉顶点U不影响图的连通性,U就不是割点。相反,如果顶点U至少存在一个孩子顶点,必须通过父顶点U才能访问到U的祖先顶点,那么去掉顶点U后,顶点U的祖先顶点和孩子顶点就不连通了,说明U是一个割点。

即判断割点的方法是:对于某个顶点u,如果至少存在一个顶点v(u的儿子),使得loωυ>=dfnᵤ ,即不能回到祖先,那么u点为割点。

这里我们还需要考虑一个特殊情况,就是DFS的根顶点(一般情况下是编号为0/1的顶点),因为根顶点没有祖先顶点。其实根顶点是不是割点也很好判断,如果从根顶点出发,一次DFS就能访问到所有的顶点,那么根顶点就不是割点。反之,如果回溯到根顶点后,还有未访问过的顶点,需要在邻接顶点上再次进行DFS,根顶点就是割点。

求解割点,对Tarjan算法

其中st[i]为1的点为割点

void Tarjan(int u,int p){

int son=0;

dfn[u]=low[u]=++dfncnt;

for(auto i:g[u]){

if(!dfn[i]){

son++;

Tarjan(i,u);

low[u]=min(low[u],low[i]);

if(p!=-1&&low[i]>=dfn[u]){

st[u]=1;

}

}else if(i!=p){

low[u]=min(low[u],dfn[i]);

}

}

if(p==-1&&son>1)st[u]=1;

};

割边

对于一个无向图,如果删掉一条边后图中的连通分量数增加了,则称这条边为桥或者割边。

即在一个无向图中删除某条边后,图不再连通,这个边就是割边。

割点与桥(割边)的关系:

1)有割点不一定有桥,有桥一定存在割点(从判定方式也可以发现)

2)桥一定是割点依附的边。

6、7、1、2、3、5、4

判断割边的方式和割点差不多:对于某个顶点u,如果有loωυ>=dfnᵤ ,那么u-v为桥求解割边时和是不是根节点无关

割点集和割边集都是通过Tarjan算法求得,无论通过哪个点开始都可以

void Tarjan(int u, int p) {

low[u] = dfn[u] = ++dfncnt;

for (auto v:g[u]) {

if (!dfn[v]) {

Tarjan(v, u);

low[u] = min(low[u], low[v]);

if (low[v]>dfn[u]) {

ans.push_back({v,u});//v,u为割边

++cnt;

}

} else if (dfn[v]<dfn[u] && v != p) {

low[u] = min(low[u], dfn[v]);

}

}

}

数学联邦政治世界观提示您:看后求收藏(笔尖小说网http://www.bjxsw.cc),接着再看更方便。

相关小说

归魂渊 连载中
归魂渊
冰霜之间
有花无叶,有叶无花,永生永世,无法相见,生生不息,轮回不止,悲剧之爱,曼珠沙华。
3.8万字6个月前
清依传 连载中
清依传
乔忆娇
原来,有一个人,从不在身边,心里却总是惦念!有一段情,隔着天涯,却倍感温暖!有一种承诺,不需说一生一世,可你知道此生此世,你注定与他相随……......
2.6万字5个月前
某天成为公主维塔 连载中
某天成为公主维塔
和煦的微风
希娅的双胞胎妹妹,一个普通的现代大学生,被错位的命运裹挟着穿越成一个原著中不该存在人物。(小学生文笔)(之前写过一个类似的,之后写不下去就弃......
5.4万字4个月前
星河为灯 连载中
星河为灯
冥夜90410
姜瑜是惊悚世界无限流副本由怨念产生的章鱼鬼怪,因为年少轻狂,去挑衅劳什子大佬被绑定为宠物带出副本,从此走上打工人的道路,开启了他跌宕起伏(苦......
2.9万字3个月前
暗欲之爱 连载中
暗欲之爱
千絮任奈
暗雨之下,他对她爱而不得,她若即若离,无路可逃得不到?那就一起下地狱吧,宝贝…..~
2.0万字3周前
人类和人鱼之间的恋爱 连载中
人类和人鱼之间的恋爱
璀璨星辰_804006620649190
3.1万字3周前