求对于给定一个连通图,加多少条边可以变成边双连通图。
一个有桥的连通图要变成边双连通图的话,把双连通子图收缩为一个点,形成一颗树。需要加的边为(leaf+1)/2 (leaf为叶子结点个数)。
对于此题,有重边但重边不加入计算。
重边的话,要么在开始去掉,要么用桥来计算入度。
因为桥不属于任何一个边双连通分支,其余的边和每个顶点都属于且只属于一个边双连通分支。对于重边而言,只有一对...
分类:
移动开发 时间:
2014-12-22 21:23:30
阅读次数:
215
这道题就是模板的题加上一道很水的树形dp
感觉就先用
1,双连通缩点,如果只存在一个双连通分量,那么肯定是删除任何一个点,这个图还是连通的,
2,利用树形dp把缩点后连成一个图,然后用树形dp的一个dfs就算出答案了
#include
#include
#include
#include
#include
#include
using namespace std;
#...
分类:
其他好文 时间:
2014-12-10 09:22:19
阅读次数:
189
题意:
n(10^5)个点的图 旅行者在每次旅行都要买纪念品 每次旅行为u->v的任意简单路径 购买的纪念品为路径上最便宜的纪念品 有q次询问 每次询问要么改变一个点的纪念品价格 要么询问一次旅行所买的纪念品价格
思路:
很明显要先做点双连通(一个连通块内随便走) 然后缩点 形成了一棵树 这棵树上的路径具有“割点-非割点-割点-非割点…”这种规律
然后因为是树上路径的问题...
分类:
其他好文 时间:
2014-11-27 16:24:14
阅读次数:
257
求出每个点双连通分量,如果在一个点双连通分量中有奇环,则这个分量每个点都在一个奇环中。 关键是要知道怎么求点双连通分量以及点双连通的性质。fzu2181http://acm.fzu.edu.cn/problem.php?pid=2181#include #include #include #incl...
分类:
其他好文 时间:
2014-11-19 00:18:20
阅读次数:
181
题目:ZOJ Problem Set - 3195 Design the city
题意:给出一个图,求三点的连起来的距离。
分析:分别求出三点中任意两点的距离 / 2 = ans
AC代码:
#include
#include
#include
#include
using namespace std;
#define N 50010
#define M...
分类:
其他好文 时间:
2014-11-06 20:09:26
阅读次数:
129
题目:poj 2942 Knights of the Round Table
题意:n个骑士经常一起开会,其中有一些两两相互憎恨,他们不能同一桌,开会要表决一些事情,所以必须奇数个人,最少3个,求永远也参加不了会议的人的个数、
分析:这个题目两点
首先,建图求双连通缩点
建图的话,因为相互憎恨的不能再一块,所以要建补图,让能够在一起的所有的连接,这样的话,如果能存在环且环...
分类:
其他好文 时间:
2014-11-05 13:09:39
阅读次数:
277
题目:poj 3177 & 3352
题意:大概意思就是给你一个无向图,让你添加最少的边,让所有点都双连通。
分析:双连通的定义就是任意两个点至少有两条路可达。
其实做法跟添加最少边强连通一样,先对图中已经双连通的缩点,然后重新编号。
这就是著名的Tanjan算法。
通过搜索的思想对所有存在环的边遍相同的号
如果要让所有的点双连通,那么对于缩点后的图中如果度数为 1 的...
分类:
其他好文 时间:
2014-11-04 22:47:28
阅读次数:
387
双连通总结
这类问题分为,边-双连通,点-双连通
边双连通
边双连通,求出来后,连接没一个双连通的分量的就是割边,因此可以缩点成一棵树,把问题转化为在树上搞,割边的定义为:去掉这条边后图将不连通
基本这类题都一个解法,求双连通分量,然后缩点成树,进行操作
或者就是直接要求割边,做跟割边相关的操作
模板:
#include
#include
#include...
分类:
其他好文 时间:
2014-10-28 21:41:45
阅读次数:
209
POJ 3177 Redundant Paths
题目链接
题意:给定一个连通无向图,问加几条边能使得图变成一个双连通图
思路:先求双连通,缩点后,计算入度为1的个数,然后(个数 + 1) / 2 就是答案(这题由于是只有一个连通块所以可以这么搞,如果有多个,就不能这样搞了)
代码:
#include
#include
#include
using namesp...
分类:
其他好文 时间:
2014-10-24 10:58:00
阅读次数:
108
HDU 4005 The war
题目链接
题意:给一个连通的无向图,每条边有一个炸掉的代价,现在要建一条边(你不不知道的),然后你要求一个你需要的最少代价,保证不管他建在哪,你都能炸掉使得图不连通
思路:炸肯定要炸桥,所以先双连通缩点,得到一棵树,树边是要炸的,那么找一个最小值的边,从该边的两点出发,走的路径中,把两条包含最小值的路径,的两点连边,形成一个环,这个环就保证了最低...
分类:
其他好文 时间:
2014-10-23 22:49:48
阅读次数:
238