各种生成树
文章平均质量分 71
WA是一笔财富
这个作者很懒,什么都没留下…
展开
-
2017浙工大之江学院校赛 H 倍增法LCA||并查集重构树
Problem H: qwb与学姐Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 199 Solved: 69[Submit][Status][Web Board]Descriptionqwb打算向学姐表白,可是学姐已经受够了他的骚扰,于是出了一个题想难住他:已知一幅n个点m条边的无向图,定义路径的值为这条路径上最原创 2017-06-08 17:44:14 · 491 阅读 · 0 评论 -
POJ 2485 Highways 最小生成树
传送门:POJ2485题意:给你一个图的邻接矩阵,让你构造一颗树(连通所有点),使其最长边尽可能的短。思路:关于这题有个定理:最小生成树的最长边最短(在所有生成树中)。至于为什么,我也证明不了。。看了一些discuss稍微懂了点,但感觉他们证明的都多多少少有些瑕疵,就不搬过来了,有疑问的可自行查阅discuss。知道上面的定理后这题就没啥意思了,本来想写kruskal,但看到有篇博客说原创 2017-02-10 22:06:21 · 353 阅读 · 0 评论 -
Conscription poj 3723最大生成树
传送门:poj3723题意挺简单的,其实想明白了就是求最大生成树,这种转化和抽象建图的思维挺好的。#include #include #include #include #include using namespace std;int f[100005];int getf(int k){ return k==f[k]?k:f[k]=getf(f[k]);}struct原创 2016-11-23 23:36:40 · 301 阅读 · 0 评论 -
Slim Span poj3522
传送门:poj3522题意很简单,就是让你求一颗生成树,然后保证里面的最长边和最短边的差值最小。可是不会啊。。不废话了,上题解吧。。http://www.cnblogs.com/jackge/archive/2013/05/13/3075769.html其实精髓就在于将所有边排序以后,枚举要构成的生成树里的最小边,最小边确定以后,就该求生成树里的最大边了,因为要求差值最小,所以最大边要原创 2016-11-26 13:39:19 · 335 阅读 · 0 评论 -
The Unique MST poj1679 次小生成树
传送门:poj1679题意:就是问一个图的最小生成树是否唯一。当我绞尽脑汁想怎么求两颗不完全一样的最小生成树的时候,偶然间点开一篇题解(是的,偶然间),看到一个叫次小生成树的算法,而他给的例子就是这个题。。我就顺带不要脸的看了题解。。原来我求最小生成树一般都是写kruskal,这次好像必须要写prim了。。次小生成树的做法大牛的博客已经介绍的很清楚了,直接附上:http://blog.转载 2016-11-26 14:34:14 · 306 阅读 · 0 评论 -
Truck History poj1789 最小生成树
传送门:poj1789题意大概:用一个7位的string代表一个编号,两个编号之间的distance代表这两个编号之间不同字母的个数。一个编号只能由另一个编号“衍生”出来,代价是这两个编号之间相应的distance,现在要找出一个“衍生”方案,使得总代价最小,也就是distance之和最小。看懂了题,稍微想想就能转化为求最小生成树。将编号抽象为点,两个编号之间的衍生关系抽象为边,‘距离原创 2016-11-26 15:15:09 · 251 阅读 · 0 评论 -
Picnic Planning poj 1639 k度限制生成树
传送门:poj1639题意就很晦涩,看了半天才看懂。。我就不解释了,没看懂的再去看看吧。。重点的重点是本题用到的算法:K度限制最小生成树即求一个图的最小生成树,且给定点v的度数必须为k。这也是我第一次接触这个名词,百度了一些资料罗列在下面:国家集训队2004论文集_汪汀:http://wenku.baidu.com/view/8abefb175f0e7cd1842536aa.h原创 2016-11-26 15:47:31 · 293 阅读 · 0 评论 -
Borg Maze poj 3026
传送门:poj3026这题重点其实考的是图的抽象和转化的能力,bfs把输入的二维矩阵扫一遍,得到每两个标记点之间的最短距离,然后这题实际上就变成了求最小生成树。。bfs的时候还是要有点小技巧的,暴力两两扫的话会T。#include #include #include #include #include using namespace std;char map[55][55]原创 2016-11-26 14:59:31 · 193 阅读 · 0 评论 -
Aizu - 2224 Save your cats 最大生成树
传送门:AOJ 2224题意:有n个点和m条边,每条边有不同的权值,问最少花费多少删除边能使得图中没有圈。思路:我们知道树是没有圈的,因此删边后的图一定是一棵树,我们想要删除的边权尽量小,就是要留下的边权尽量大,因此留下的树必定是最大生成树。关键点就是思维的转化,剩下的就没什么难的了。代码:#include#define ll long long#define pb pus原创 2017-07-24 17:10:43 · 1634 阅读 · 0 评论