![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
割点/割边
ToRe.
这个作者很懒,什么都没留下…
展开
-
UVA 315 Network(tarjan求割点)
题目连接 题意 求无向图割点数 思路 板子题,大概了解为什么low[u] = min(low[u], dfn[v])。 毒瘤输入 代码 #include <bits/stdc++.h> using namespace std; int low[105], cut[105], dfn[105], tot = 0, n, ans; vector<int> e[105]; v...原创 2019-01-26 10:47:41 · 160 阅读 · 0 评论 -
tarjan总结
随便总结下给自己以后回忆,结论全凭感觉加一点点实践,如有错误欢迎指出。 图为单向边 需要vis标记是否在队列 图为无向边 求双边连通,求桥 无重边 深搜不搜爹,递归多传个爹是谁 有重边 深搜不搜同边,链式前向星存图,同边的id差1 求割点 搜不到返祖边即是割点,low[v] &amp;gt;= dfn[u] 求割边 儿子搜不到返回爹的边即割边,low[v] &amp;gt; dfn[u] ...原创 2019-03-14 11:23:03 · 112 阅读 · 0 评论 -
POJ 3177 Redundant Paths(求桥)
题目链接 题意 给你一个联通图,求最小加几条边,使图变成双连通图 思路 求桥,求双连通分量缩点,以桥为边构成新图,图中度数为1的节点都需要加边,所以答案为度数为1节点除以2向上取整。 代码 #include &amp;amp;lt;stdio.h&amp;amp;gt; #include &amp;amp;lt;string.h&amp;amp;gt; #include &amp;amp;lt;vector&am原创 2019-03-07 10:07:24 · 88 阅读 · 0 评论 -
HDU 4612 Warm up(tarjan求割边+缩点+树形DP)
[题目链接][http://acm.hdu.edu.cn/showproblem.php?pid=4612] 题意 给你一个连通图,你可以任意加一条边,求最小桥数量。 思路 先用tarjan求所有桥,将双边连通的点缩点,再对缩点后的新图加上桥,得到cnt新图的点数。 求新图的直径,在直径两端加一条边最优(可以消去最多的桥),答案即,新图点数-1-直径长度。 代码 #include &amp;lt;stdi...原创 2019-03-07 16:50:27 · 149 阅读 · 0 评论 -
HDU 3394 Railway(桥+点双)
题目链接 题意 给你一副无向图,求桥数量 和 属于多个环的边数量 思路 求桥好写,属于多个环的边数,仙人掌判断恰好这么处理,求点双,点双内的边数大于点数则点双内每条边属于多个环。 代码 #include <bits/stdc++.h> using namespace std; #define ll long long const int N = 10005; vector<i...原创 2019-09-26 21:49:52 · 161 阅读 · 0 评论