POJ 3177 Redundant Paths Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12598 Accepted: 5330 Description In order to get from one of the F ...
分类:
编程语言 时间:
2016-06-08 23:01:13
阅读次数:
352
发现自己Tarjan的板子有错误.发现可以用Map直接删去边,Get. 听说std是双连通、LCA、并查集、离线思想、用BIT维护dfs序和并查集维护LCA的动态缩点的好题 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> ...
分类:
其他好文 时间:
2016-06-03 17:14:44
阅读次数:
255
思路:强连通分量缩点,建立一颗新的树,然后求树的最长直径,然后加上一条边能够去掉的桥数,就是直径的长度。 树的直径长度的求法:两次bfs可以求,第一次随便找一个点u,然后进行bfs搜到的最后一个点v,一定是直径的一个端点(证明从略),第二次以点v为开头进行bfs,求出的最后一个点,就是直径的另一个端 ...
分类:
其他好文 时间:
2016-06-01 19:34:11
阅读次数:
217
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4612 题意:一个包含n个节点m条边的无向连通图(无自环,可能有重边)。求添加一条边后最少剩余的桥的数目。 思路:要想尽可能地消灭桥,那么添加的这条边一定是连通了最多的BCC。 所以首先进行双连通分量分 ...
分类:
其他好文 时间:
2016-05-31 12:05:27
阅读次数:
178
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4738 给一张无向图,每一条边都有权值。找一条割边,使得删掉这条边双连通分量数量增加,求权值最小那条。 注意有重边,ACEveryDay里群巨给的意见是tarjan的时候记录当前点是从哪条边来的。 注意假 ...
分类:
移动开发 时间:
2016-05-27 21:56:17
阅读次数:
259
题目链接:传送门 题目大意:给你一副无向图,问至少加多少条边使图成为边双联通图 题目思路:tarjan算法+缩点(如果已经是双连通图就直接输出0) ...
分类:
其他好文 时间:
2016-05-25 21:56:44
阅读次数:
206
题目链接:传送门 题目大意:给你一副无向图,问至少加多少条边使图成为边双联通图 题目思路:tarjan算法加缩点,缩点后求出度数为1的叶子节点个数,需要加边数为(leaf+1)/2 ...
分类:
移动开发 时间:
2016-05-24 20:41:48
阅读次数:
368
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4612 所有图论题都要往树上考虑 题意:给一张图,仅允许添加一条边,问能干掉的最多条桥有多少。 必须解决重边的问题,最后会说。 首先tarjan跑出所有的双连通分量和是桥的边还有桥的数量,这非常重要。接着 ...
分类:
其他好文 时间:
2016-05-24 11:53:59
阅读次数:
199
题目链接:http://poj.org/problem?id=3177 和上一题一样,只是有重边。 如何解决重边的问题? 1、 构造图G时把重边也考虑进来,然后在划分边双连通分量时先把桥删去,再划分,其中桥的一端的割点归入当前正在划分的边双连通分量。这个处理比较麻烦; 2、 在输入图G的边时,若出现 ...
分类:
其他好文 时间:
2016-05-23 16:50:53
阅读次数:
200
之前一直不明白点双连通分量能用来干嘛,比如边双连通分量可以问加几条边能变成边双连通,这个题目是这样的,每个圆桌会议至少三个骑士参加,因为需要表决意见,所以骑士数目必须是奇数个,直到那些骑士互相憎恨,也就是不能坐在一起的,把能坐在一起的建边,求无法参加任何会议的骑士的个数,重点是任何会议,这点非常关键,这道题之前一直卡在这里,还有就是有的人属于好几种双连通分量,所以全部标记之后再减掉比较好,至于奇数个...
分类:
其他好文 时间:
2016-05-12 16:30:40
阅读次数:
182