给一个无向图,问至少加入多少条边能够使图变成双连通图(随意两点之间至少有两条不同的路(边不同))。图中的双连通分量不用管,所以缩点之后建新的无向无环图。这样,题目问题等效于,把新图中度数为1的点相互连到图里面形成环如果这种点有sum个,那么至少须要加入(sum+1)/2 条边。下面,基本上就是求边双...
分类:
其他好文 时间:
2014-09-28 14:36:42
阅读次数:
229
POJ 3352 Road Construction
链接:http://poj.org/problem?id=3352
题意:给定一张连通的无向图,无重边。问最少加入多少条边之后,使得原图之中的任意两点之间都有两条以上的“边不重复”的路径。
思路:首先可以通过求割点的方式对该图进行一次dfs。dfs之后,所有位于同一个边-双连通分量的点的low值相同。这样就能够将一个边-...
分类:
其他好文 时间:
2014-09-05 16:10:11
阅读次数:
158
UVA 10972 - RevolC FaeLoN
题目链接
题意:给定一个无向图(不一定全连通),现在把边定向,问还要添加几条边使得图强连通
思路:先求出边-双连通分量,每个连通分量都能定向,然后缩点,转化为欧拉回路,如果每个点度数都是大于等于2的偶数就是回路,也就是强连通了,所以计算度数为0和1的个数,一条边能增加两个度数,所以答案为所以只要再添加上(a + 1) / 2 +...
分类:
其他好文 时间:
2014-09-01 12:37:03
阅读次数:
199
题意:
一幅无向图 将尽量多的无向边定向成有向边 使得图强连通 无向图保证是连通的且没有重边
思路:
桥必须是双向的 因此先求边双连通分量 并将桥保存在ans中
每个双连通分量内的边一定都可以变成有向边(毕竟是圈组成的图) 边的定向方式分两种:
1、对于树枝边u->v 如果low[v]>dfn[u]说明v回不到u上面去 所以ans应该是v->u的边 否则是u->v
2、...
分类:
其他好文 时间:
2014-08-31 11:56:31
阅读次数:
213
1 /* 2 题意:给出一个无向图,去掉一条权值最小边,使这个无向图不再连同! 3 4 tm太坑了... 5 1,如果这个无向图开始就是一个非连通图,直接输出0 6 2,重边(两个节点存在多条边, 权值不一样) 7 3,如果找到了桥的最小权值为0,...
分类:
其他好文 时间:
2014-08-26 16:51:56
阅读次数:
158
【题意】:给出一张无向连通图,求添加多少条边可以成为边-双连通图【思路】:同3352 一样,求出边-双连通分量,缩点就成了一棵树,求这棵树里的出度为1 的点num 结果是(num-1)/2; 但是!! 这里和3352 哟一点不一样就是这里有重边,当有重边的时候,不同low值的两点可能属于...
分类:
其他好文 时间:
2014-07-29 13:39:28
阅读次数:
178
【题意】 给出一张无向连通图,求至少连几条边可以变成边双连通图【思路】求出边-双连通分量,缩点就成了一棵树,求这棵树里的出度为1 的点num 结果是(num-1)/2; 1 #include 2 #include 3 #include 4 #include 5 #include 6 using na...
分类:
其他好文 时间:
2014-07-29 11:32:06
阅读次数:
310
题意:
要求在一个特殊的图上找最大匹配,该图特点是:无向图,每个节点度数为3,是一个边双连通分量(the graph is 2-edge-connected (that is, at least 2 edges need to be removed in order to make the graph disconnected) 这一点是这样理解的把。。)
思路:
一般想法就直接建图求最大匹...
分类:
其他好文 时间:
2014-07-23 13:22:07
阅读次数:
207
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define eps 1e-6
#define ll __int64
using namespace std;
#define N 1010
#define M 20010...
分类:
其他好文 时间:
2014-07-03 16:59:36
阅读次数:
226