
割点/割边
ToRe.
这个作者很懒,什么都没留下…
展开
-
HDU 3394 Railway(桥+点双)
题目链接题意给你一副无向图,求桥数量 和 属于多个环的边数量思路求桥好写,属于多个环的边数,仙人掌判断恰好这么处理,求点双,点双内的边数大于点数则点双内每条边属于多个环。代码#include <bits/stdc++.h>using namespace std;#define ll long longconst int N = 10005;vector<i...原创 2019-09-26 21:49:52 · 188 阅读 · 0 评论 -
tarjan总结
随便总结下给自己以后回忆,结论全凭感觉加一点点实践,如有错误欢迎指出。图为单向边需要vis标记是否在队列图为无向边求双边连通,求桥无重边 深搜不搜爹,递归多传个爹是谁有重边 深搜不搜同边,链式前向星存图,同边的id差1求割点 搜不到返祖边即是割点,low[v] &amp;gt;= dfn[u]求割边 儿子搜不到返回爹的边即割边,low[v] &amp;gt; dfn[u]...原创 2019-03-14 11:23:03 · 138 阅读 · 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 · 185 阅读 · 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 · 116 阅读 · 0 评论 -
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 · 197 阅读 · 0 评论