题目链接:http://poj.org/problem?id=3177
题意:至少加多少边才能构成边双连通图。
思路:求边双连通分量,对于每一个边双连通分量都看做一个点,也就是进行缩点,然后就构造出一个树,然后在这个树上加多少个树边,能够变成一个双连通图。 加的数量就是( 这棵树总度数为1的结点数 + 1 )/ 2#include
#include
#in...
分类:
其他好文 时间:
2016-05-07 09:38:21
阅读次数:
118
题意:n个点,m条边的无向图,有的边上有标记,每条边只能走一次 给你一个起点,一个终点,询问是否能找到从起点到终点的路径,这条路径至少包含一条含有标记的边 分析:然后边双缩点 下面介绍一下边双的性质 1,删掉边双内任意一条边,不影响边双的连通性 2,任取边双内两个点u,v,对于边双里面的任意一条边, ...
分类:
其他好文 时间:
2016-03-27 19:26:31
阅读次数:
212
题意:一幅无向图 将尽量多的无向边定向成有向边 使得图强连通 无向图保证是连通的且没有重边思路:桥必须是双向的 因此先求边双连通分量 并将桥保存在ans中每一个双连通分量内的边一定都能够变成有向边(毕竟是圈组成的图) 边的定向方式分两种:1、对于树枝边u->v 假设low[v]>dfn[u]说明v回...
分类:
其他好文 时间:
2016-01-08 20:16:57
阅读次数:
202
Warm upTime Limit:5000MSMemory Limit:65535KB64bit IO Format:%I64d & %I64uSubmitStatusPracticeHDU 4612Description N plan...
分类:
其他好文 时间:
2015-11-06 21:00:49
阅读次数:
353
tarjan求边双连通分量, 然后就是一棵树了, 可以各种乱搞...-------------------------------------------------------------------------------#include#include#includeusing namespa...
分类:
其他好文 时间:
2015-10-18 11:18:28
阅读次数:
272
题目大意:给一个N个点M条边的无向图,有Q个询问:1、删掉a、b之间所存在的边;2、询问有多少条边,单独删掉之后a与b不再连通。思路:脑洞大开。对于询问,首先想到的就是a与b之间有多少桥(割边),然后想到双连通分量,然而删边是个坑爹的问题,于是我们离线倒着来,把删边变成加边。双连通分量这种东西呢,其...
分类:
编程语言 时间:
2015-09-19 19:36:14
阅读次数:
741
题意:求一条边使得加入这条边以后的消除的桥尽量多。在同一个边双连通分量内加边肯定不会消除桥的,求边双连通分量以后缩点,把桥当成边,实际上是要选一条最长的链。缩点以后会形成一颗树,一定不存在环否则和桥的定义矛盾,求树上的最远点对。树上的最远点对用dpT了,实际上两次dfs就行了,第一次随便选一个点df...
分类:
Web程序 时间:
2015-09-03 19:13:54
阅读次数:
207
边双连通分量+并查集这题算是水过去的吧,4500ms。应该有更好的写法#include#include#include#include#includeusing namespace std;const int maxn = 100000 + 10; //结点数量const int Maxn = 2 ...
分类:
Web程序 时间:
2015-09-01 12:25:55
阅读次数:
183