一、边双连通分量 定义 若一个无向图中的去掉任意一条边都不会改变此图的连通性,即不存在桥,则称作边双连通图。一个无向图中的每一个极大边双连通子图称作此无向图的边双连通分量。 实际求法和强连通分量差不多,只是要注意由于一条无向边被分为两条有向边存储,所以在经过其中一条从u到达v之后不能再通过另一条边由 ...
分类:
其他好文 时间:
2018-08-23 20:57:59
阅读次数:
157
Road Construction POJ - 3352 题意:一个无向图(无重边),问至少还要加多少边使得去掉任意一条边后任意两点仍可互达。 无向图的边双连通分量(无重边) 先用一次dfs标记出割边,然后dfs标记出各联通分量 再根据割边,缩点重新建图,生成一颗树 则答案就是(叶子树+1)/2. ...
分类:
其他好文 时间:
2017-08-18 17:07:18
阅读次数:
145
http://codeforces.com/gym/100712/attachments 题意是给定一个无向图,要求添加一条边,使得最后剩下的桥的数量最小。 注意到在环中加边是无意义的。 那么先把环都缩成一个点,然后重新建立一颗树,找出树的直径就好。 #include <cstdio> #inclu ...
分类:
其他好文 时间:
2017-03-31 20:13:26
阅读次数:
228
题意:给定一个无向图,要求把所有无向边改成有向边,并且添加最少的有向边,是的新的无向图连通。首先,这题是先要明白,有向图的强连通分量,如果把所有的边都变成无向的,就是无向图的边双连通分量。 恩,本来以为边双连通分量又是求桥又是绕过桥dfs很麻烦想想就不想做..后来无意中在别人的题解上看到一个结论(好... ...
分类:
其他好文 时间:
2017-01-25 11:42:33
阅读次数:
157
#include
#include
#include
#include
#include
#include
using namespace std;
#define maxn 7500
#define inf 0x3f3f3f3f
int n,m;
int g[maxn][maxn];
int clock;
int low[maxn],pre[maxn];
stacks;
int bc;
vect...
分类:
其他好文 时间:
2015-08-01 19:02:31
阅读次数:
112
POJ 3352 Road Construction
链接:http://poj.org/problem?id=3352
题意:给定一张连通的无向图,无重边。问最少加入多少条边之后,使得原图之中的任意两点之间都有两条以上的“边不重复”的路径。
思路:首先可以通过求割点的方式对该图进行一次dfs。dfs之后,所有位于同一个边-双连通分量的点的low值相同。这样就能够将一个边-...
分类:
其他好文 时间:
2014-09-05 16:10:11
阅读次数:
158