图论-Kruskal
tzb592825420
这个作者很懒,什么都没留下…
展开
-
UVA 1395 Kruskal算法
点击打开链接 模板题 Kruskal算法是求最小生成树的较为高效的算法,首先根据边的权值从小到大排序,n个顶点的最小生成树需要n-1条边,遍历排序后的边,若两个顶点不连通则加入这条边(可用反证法证明),知道加入了n-1条边,用并查集将联通的顶点放在一个集合里,并查集把集合按树的形式放在一个集合里。 题意:n个顶点,m条边,每条边有权值,求最小生成树。 分析:先判断m条边能否是n个顶点联通原创 2014-12-01 11:11:57 · 540 阅读 · 0 评论 -
uva 1151 Buy or Build
点击打开链接 题意:n个城市架设通信线路,要使各个城市相互联通,两城市之间的费用为两城市的欧几里得距离。此外有q个套餐,套餐中有几个城市联通,套餐会有一些费用,问怎样使总费用最小。 分析:可枚举使用哪些套餐,再求最小生成树,但边数很大,会T,可不要套餐求一次最小生成树,得到的n-1条边即使选择套餐,其他边也必从这n-1条边中选择,这样就大大降低了遍历边的数目. #include #inclu原创 2014-12-01 11:21:16 · 844 阅读 · 0 评论