【模板】无向图的割顶
2015-03-20 23:40
190 查看
无向图的割顶:
Vector <int> G[] :邻接表存图
Int pre[] :存储时间戳
Int low[] : u及其后代所能连回的最早的祖先的pre值
Int iscut[] : =true表示是割顶,=false不是割顶
Dfs函数在主函数调用时,fa预设为-1。
注意初始化:
以下是模板
Vector <int> G[] :邻接表存图
Int pre[] :存储时间戳
Int low[] : u及其后代所能连回的最早的祖先的pre值
Int iscut[] : =true表示是割顶,=false不是割顶
Dfs函数在主函数调用时,fa预设为-1。
注意初始化:
memset(head,-1,sizeof(head)); edge=0; dfs_clock=0; memset(low,0,sizeof(low)); memset(pre,0,sizeof(pre));
以下是模板
vector <int> G[MAXN]; int pre[MAXN],iscut[MAXN],low[MAXN],dfs_clock; int dfs(int u,int fa) { int lowu=pre[u]=++dfs_clock; int child=0; for (int i=0;i<G[u].size();i++) { int v=G[u][i]; if (!pre[v]) { child++; int lowv=dfs(v,u); lowu=min(lowu,lowv); if (lowv>=pre[u])//如果求桥,去掉等于号 { iscut[u]=true; } }else if (pre[v]<pre[u] && v!=fa) { lowu=min(lowu,pre[v]); } } if (fa<0 && child==1) iscut[u]=0; return low[u]=lowu; }
相关文章推荐
- 洛谷3388 【模板】割点(割顶)
- P3388 【模板】割点(割顶)
- POJ 1144 Network(无向图的割顶和桥模板题)
- poj1144(求割顶模板题)
- 【模板】割点(割顶)
- P3388 【模板】割点(割顶)
- 图论模板 求割顶/判断二分图
- 洛谷3388:【模板】割点(割顶)——题解
- 深夜敲模板_4——无向图的割顶和桥
- 洛谷P3388 【模板】割点(割顶)
- 图论模板 求割顶/判断二分图
- POJ1144-Network(割顶模板题)
- poj 1144 Network 图的割顶判断模板
- poj 1144 Network 图的割顶判断模板
- 无向图的割顶和桥,无向图的双连通分量入门详解及模板
- 洛谷P3388 【模板】割点(割顶)(Tarjan算法)
- 割点 洛谷P3388 【模板】割点(割顶) 学习板子
- 洛谷P3388 【模板】割点(割顶)(tarjan求割点)
- 洛谷P3388 【模板】割点(割顶)
- luogu P3388 【模板】割点(割顶)