最小生成树
文章平均质量分 78
sdj222555
这个作者很懒,什么都没留下…
展开
-
POJ 3522 最大边与最小边差值最小的生成树
这道题的题意很明了。求最大边与最小边差值最小的生成树首先,把所有的生成树都求出来是不可能的,所以,必须用别的方法。在学习次小生成树的过程中,知道了一个最小生成树的性质, 一个图的最小生成树不一定是唯一的,但是组成这些最小生成树的各个边的权值一定都是一一对应相同的。不会出现这种一个树上有两个边权值a+b等于另外一颗树上两个边c+d,然后这两个树都是最小生成树的情况。 对于本题来讲,上面原创 2012-06-28 13:04:35 · 5989 阅读 · 2 评论 -
[Usaco2008 Oct]灌水 最小生成树
Farmer John已经决定把水灌到他的n(1看起来挺难?其实稍微有点变形的题目而已。我们虚拟出来一个结点,这个结点跟每块农田连边,权值分别为每块农田建造水库的花费。然后其他边都正常连。然后求最小生成树即可。一般来说知道超级源点,这道题就可以随便屠了。这种加虚拟结点的方法在图论的很多问题中都会出现。#include #includ原创 2012-11-29 22:19:01 · 2225 阅读 · 0 评论 -
POJ 3925 Minimal Ratio Tree 最小生成树
思路是枚举+最小生成树,用DFS枚举或者二进制枚举。 /*ID: sdj22251PROG: calfflacLANG: C++*/#include #include #include #include #include #include #include #include #include #include #include #include #includ原创 2011-08-16 16:50:33 · 1489 阅读 · 0 评论 -
2011年 ACM/ICPC 北京赛区 A题 Qin shi huang's national road system
现场其实想到了找两点间最大边,但是一直在想DFS找的方法,期间我也想了想预处理的可行性,可是想岔道了,觉得不可行,结果今天用类似DP的预处理终于给过了,我擦了,铁牌第一名,要多点背有多点背。莫非是RP用光了,希望明年能好点吧。Run IDProblem IDStatusTimeMemoryLanguageCodeSub原创 2011-10-25 08:56:27 · 2205 阅读 · 0 评论 -
BOJ 333 最小生成树+最短路
很裸的一个题吧,就是先求出一个最小生成树,然后求的同时把图给建好,然后枚举起点,求最短路。因为在树上求最短路必然是O(n)的,所以总的复杂度是O(n2)的求最短路的时候囧了,直接写的SPFA,其实直接BFS就行了。不过明显写SPFA写习惯了。当然这道题卡人的地方很猥琐,是精度。用double竟然精度都不够,很诧异啊,然后经指点才知道,题目说最多有两位小数,直接放大100倍成long l原创 2012-03-03 16:26:57 · 847 阅读 · 0 评论 -
POJ 3164 最小树形图 朱刘算法
参考了芳哥的博文 http://blog.csdn.net/wsniyufang/article/details/6747392说一下自己的理解。最开始的图,把所有的最小入边都累加到ret里。至于为什么,因为这样才能保证所得的ret有可能是最小树形图的解,当然,是在这些最小入边集合不行成环得情况下。如果有了环,ret肯定不是最终答案,因为环中间有的边需要删掉,而且环之间也要连接起来。现原创 2012-04-14 01:17:56 · 14422 阅读 · 4 评论 -
HDU 2121 无固定根的最小树形图
参考了http://blog.csdn.net/wsniyufang/article/details/6747604本题为不是固定根的最小树形图,我们可以虚拟出一根来,然后在把这个根跟每个点相连,相连的点可以设为无穷大,或者设为所有边和大一点,比如为r,然后就可以利用最小树形图进行计算了,计算出的结果减去r,如果比r还大就可以认为通过这个虚拟节点我们连过原图中两个点,即原图是不连通的,原创 2012-04-14 02:00:42 · 1282 阅读 · 0 评论 -
POJ 2728 最优比率生成树 01分数规划问题
网上有一些很数学的证明方法,表示看的挺晕,自己理解了一下后,发表下自己的看法,如果有错误,再进行修改其实原题就是求 MIN( ∑CiXi / ∑DiXi ) Xi∈{0,1} ,对每个生成树,设其比率r=∑CiXi / ∑DiXi ,可得∑CiXi - ∑DiXi * r=0(条件1)那么对于所有的生成树,显然∑CiXi - ∑DiXi * min(r) >= 0,当 ∑CiX原创 2012-04-23 18:58:49 · 4902 阅读 · 2 评论 -
POJ 1679 The Unique MST 次小生成树
题目大意就是问是否有多个权值相同的最小生成树有两种方法, 一种是枚举删边,然后接着构造最小生成树,但是复杂度比较大另外一种就比较好了 , 是求次小生成树的方法, 把生成树上任意两点间的最大边在求最小生成树的同时预处理出来,然后n2的枚举任意两点,如果这两点在最小生成树中不是相邻的,就可以删掉两点间的最大边,换上新边,即他俩之间的直接的边,在邻接矩阵中就是他们的距离。第一种方原创 2012-06-26 17:24:05 · 809 阅读 · 0 评论 -
POJ 1639 k度限制生成树
题意就是求最小生成树 但是有一个顶点的度必须不大于k具体的方法网上都有,但是代码写起来之复杂难以令人想象,我由于代码能力还太弱,导致只能看着别人的代码重写一遍,优化了一些部分。1.求出除去K度点的最小生成森林,设森林数为m2.将这m棵树与K度点用每棵树中与K度点距离最短的点相连,生成一个m度最小生成树,总答案为这个生成树的所有边长之和3.迭代k-m次,尝试将m度生成树扩展为K原创 2012-06-27 22:51:54 · 3001 阅读 · 0 评论 -
[Usaco2008Nov]安慰奶牛cheer 最小生成树
Farmer John变得非常懒, 他不想再继续维护供奶牛之间供通行的道路. 道路被用来连接N (5 <= N <= 10,000)个牧场, 牧场被连续地编号为1..N. 每一个牧场都是一个奶牛的家. FJ计划除去P(N-1 <= P <= 100,000)条道路中尽可能多的道路, 但是还要保持牧场之间 的连通性. 你首先要决定那些道路是需要保留的N-1条道路. 第j条双向道路连接了牧场S_j原创 2012-11-29 23:12:28 · 3043 阅读 · 0 评论