【题目链接】 http://poj.org/problem?id=3177 【题目大意】 给出一张图,问增加几条边,使得整张图构成双连通分量 【题解】 首先我们对图进行双连通分量缩点, 那么问题就转化为给出一棵树,加边使得其成为边双连通分量的最小边数, 只要从叶节点连一条边到任意节点,那么就可以使得 ...
分类:
其他好文 时间:
2017-04-13 00:26:24
阅读次数:
189
1050: [HAOI2006]旅行comf Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBLE ...
分类:
其他好文 时间:
2017-03-07 20:45:33
阅读次数:
239
很好的一道题。 首先注意,要使的s到t的路径上最大边/最小边的值最小。我们可以尝试一下二分并验证答案。 但是不能二分最大边/最小边。 我们可以二分 最小边的权值。于是算法就出来了。 首先把边权排序。然后枚举最小的边,再依次添加不小于该边的边,直到s和t联通。用并查集维护即可。 # include < ...
分类:
其他好文 时间:
2017-03-04 15:24:07
阅读次数:
226
【题目链接】 http://poj.org/problem?id=2914 【题目大意】 求出一个最小边割集,使得图不连通 【题解】 利用stoerwagner算法直接求出全局最小割,即答案。 【代码(递归)】 【代码(非递归)】 ...
分类:
其他好文 时间:
2017-02-12 12:12:22
阅读次数:
187
https://vjudge.net/problem/UVA-1395 题意: 给出一个n结点的图,求苗条度(最大边减最小边的值)尽量小的生成树。 思路: 主要还是克鲁斯卡尔算法,先仍是按权值排序,对于一个连续的边集区间[L,R],如果这些边使得n个点全部连通,则一定存在一个苗条度不超过W[R]-W ...
分类:
其他好文 时间:
2017-02-10 22:07:21
阅读次数:
324
dij贪心地取min(cur,pre)最大的路径 或者直接按权值排序,贪心地从最小或最大取,并茶几加点,联通停止即可。。。 我们还可以用二分。。就是二分最大边权或者最小边权。。重复上面类似kruskal的过程 k短路。。次小生成树。。可持久化堆 dij本质还是个贪心地过程 求满足某条件的最短路径或最 ...
分类:
其他好文 时间:
2017-01-24 16:13:53
阅读次数:
641
写了四五道点分治的题目了,算是比较理解点分治是什么东西了吧= = 点分治主要用来解决点对之间的问题的,比如距离为不大于K的点有多少对。 这道题要求距离等于K的点对中连接两点的最小边数。 那么其实道理是一样的。先找重心,然后先从重心开始求距离dis和边数num,更新ans,再从重心的儿子开始求得dis ...
分类:
其他好文 时间:
2016-12-15 18:00:48
阅读次数:
151
bzoj3732Network 题意: 给一个无向图,k个询问求节点a到节点b最长边的最小值。n,k≤15000。 题解: ”最长边的最小值“经常可以用最小生成树解决,因为生成树里的每一条边都是可取的最小边,求完生成树之后就是经典的倍增应用:求lca的时候顺便维护一下边权最大值即可。 代码: 201 ...
分类:
Web程序 时间:
2016-11-15 23:34:00
阅读次数:
211
Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBLE”,否则输出这个比值,如果需要,表示成一个既约 ...
分类:
其他好文 时间:
2016-11-14 12:02:48
阅读次数:
191
Kostya the Sculptor 题目链接:http://codeforces.com/problemset/problem/733/D 贪心 以次小边为第一关键字,最大边为第二关键字,最小边为第三关键字排序,每次只需要找次小边和最大边均相同,最小边最大的两项即可。 因为用Python遇到很多 ...
分类:
其他好文 时间:
2016-11-13 22:00:27
阅读次数:
195