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

割点

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

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

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),接着再看更方便。

相关小说

多重宇宙:离婚后,为她一夜白头 连载中
多重宇宙:离婚后,为她一夜白头
笨笨笨小妙
跟心心念念的男人结婚五年后...我心灰意冷,决定离婚。却在一场车祸后...窥探到另一个时空的我和他...原来,那个不说爱的男人,在另一个时空......
24.6万字2周前
默祈 连载中
默祈
古灵精怪爱丽丝
父母被怪物害死的小默羽拼了命逃到教堂保住了性命,成为了看守神明法宝的一位小咯咯。但有一天,宝物意外失踪了,而所有的一切罪责和嫌疑都纷纷指向了......
1.0万字1周前
疯子又来啦! 连载中
疯子又来啦!
星之曰月
修仙小说,随便磕回魂肉魄轮回尽,亦是相回白雪纷。每世抗命残伤奄,血发污衣浸红身。自曾梦影现故因,终是相遇还恩人。二世帮协将死人,长貌如吾一相......
2.3万字5天前
锦年金缘 连载中
锦年金缘
浅和苏
很多年后,众人才知道,那年他们的遇见,早已注定……
0.6万字4天前
御妖诀 连载中
御妖诀
月无年
“苏荼…你骗的本王好苦啊…”他等了她三万年,换来的,只是一副空壳罢了。那个曾经爱笑的苏荼,如今变成了杀人的刀。在面对君临御的时候,你的剑也会......
6.3万字3天前
ch:平行恶世界人到来 连载中
ch:平行恶世界人到来
任彼安
先看第四章!人设cp!全员恶人的平行世界与主世界开始融合,相敌,相对,相帮,相助,背后又是何人在操控,而最后的结局是完全融合还是彻底分离呢?
5.5万字2天前