![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
点双连通分量
文章平均质量分 77
84970000
算法工程师
展开
-
HDU 3394 Railway(点双连通分量的应用)
题意:给定一个无向图,分别求出不在任何环中的边的数量和同时在两个或以上的环中的边的数量。 解法:桥上的边就是不在任何环中的。而如果一个点双连通分量中边的数量比点的数量要多,那么该双连通分量的所有边都同时在两个或以上的环中(这个可以想象一下,在一个简单环中多加一条端点不同的边,这样简单环就会被分割成两个小的简单环,任何一条在大的环中的边都会同时处于一个其中一个小的环中)。 在tarjan算法中,原创 2015-05-02 22:22:26 · 707 阅读 · 0 评论 -
POJ 1523 SPF (割顶 点双连通分量)
题意就是求出在一个图上去除一个点之后,那个图会变成多少个子连通图。 显然我们要求出割顶。我的代码套用了刘汝佳的大白书的tarjan算法,用一个数组cnt[]记录一个点是多少个点双连通分量的割顶。当发现一个点是割顶的时候,就cnt[i]++。最后,如果一个点是一棵dfs树的树根时,就输出cnt[i],否则就输出cnt[i]+1(因为那个点有父亲,而cnt数组记录的相当于是该点的儿子个数)。 #i原创 2015-05-16 20:13:12 · 463 阅读 · 0 评论