摘要: 简介:用tarjan找割点,当dfn[u]<=low[v]时,证明当前的u为割点,注意割点可能存在于多个点双连通分量中,所以存点的时候要格外注意。如果当前遍历到的v已在栈中,可以用dfn[v]更新low[u]。 ps:两点一边的图也为一个点双连通分量。 模板: 将下面的代码略微改动即可 例题: hd 阅读全文
posted @ 2019-09-12 19:53 wuliking 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 简介:还是采用tarjan缩点,如果边(u,v)是桥,那么显然dfn[v]=low[v],则v此时栈中的集合为一个边连通分量。 代码: 1 void tarjan(int x,int &sccnum,int from) { 2 sta[++cnt]=x; 3 vis[x]=1; 4 dfn[x]=+ 阅读全文
posted @ 2019-09-12 14:07 wuliking 阅读(418) 评论(0) 推荐(0) 编辑