最小生成树
HumveeA6
这个作者很懒,什么都没留下…
展开
-
51Nod - 1640
开始想着二分最大值,然而调了调怎么都不对QAQ…. 然后看了一下解答: 最小生成树确定最小的边究竟是多少,因为你要求最大边最小嘛…那这样肯定能求出最小值,但这样结果未必最优….所以,我们再倒着去加入并查集就好了,从最大边开始搞一个最大生成树 这样贪心肯定是对的嘛QAQ….然后总长度要用longlong,会爆int…#include<cstdio>#include<io...原创 2018-03-15 17:14:02 · 189 阅读 · 0 评论 -
BZOJ 1196 [HNOI2006]公路修建
之前做的时候一直想的都是最小化最大值嘛,于是二分答案,但是怎么都搞不出来。今天看了一眼突然想到其实根本并不用二分哇,把边先按一级费用排序,用kruskal选出最便宜的k条公路,再按二级费用排序,用kruskal求出最小生成树,中间最高的费用就是答案。交上去就AC了…..#include<cstdio>#include<iostream>#include<a...原创 2018-03-17 08:57:22 · 138 阅读 · 0 评论 -
(模板)最小生成树,Kruskal算法
并查集记得初始化!!!#include&lt;cstdio&gt;#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;#include&lt;vector&gt;using namespace std;struct edge{ in原创 2018-03-04 20:10:21 · 173 阅读 · 0 评论 -
(模板) 最小生成树Prim算法
算法跟Dijkstra很像 ,但是要特别注意两点:1.最好使用一个额外的数组来保证每个点只被访问一次,否则的话应该保证在35行处使用e.dis>=dis[e.num]而不仅是>,否则会造成一些相等的额外相加。 2.40行的地方要注意与Dijkstra的区别!!不是加而是直接换!!!#include<cstdio>#include<iostream>#i...原创 2018-03-04 22:57:13 · 123 阅读 · 0 评论 -
Aizu2224
题意:一个邪恶的女巫因为嫉妒Nicholas家的猫可爱,就施了魔法让他家的猫咪困在卷子里出不来了(要不然说她邪恶呢)。现在给出她施魔法变出来的桩的坐标,栅栏i与栅栏j(是一个整体,也就是给出了一条边,边的长度是第i个桩与第j个桩间的长度)。现在让你求最少需要破坏多长的栅栏才能让可爱的猫咪都出来。分析:若想要让猫咪出来的话,肯定是不能有环了。那么现在就有一个思想:算出全部边长总和,然后减去可以构...原创 2018-03-06 15:29:57 · 230 阅读 · 0 评论