2014.07.04 23:03简介: 给定一个无向带权连通图(三个条件),选出n-1条边将这n个顶点连成一棵树,使得这棵树的权值之和最小。描述: 本次使用Kruskal算法来解决这个问题。 如果有n个顶点的话,我们需要n-1条边来拼成一棵树。 Kruskal算法的基本思路,是每次拼上一条边...
分类:
编程语言 时间:
2014-07-06 17:07:20
阅读次数:
245
跟我上一篇解题报告一样,都是找最小生成树的最大边。
依然Kruskal,每次比较找最大即可。
有人问我为啥一直CE,妥妥的不看题目,都说了可能有重复的边,存储边数组的开大一点就好了。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-07-06 10:22:28
阅读次数:
192
最小生成树模版题。
N个点,M条已经存在的边。
算出两两点之间的距离,然后Kruskal。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x7fffffff
#define eps 1e-6...
分类:
其他好文 时间:
2014-07-06 09:38:58
阅读次数:
171
基础最小生成树。Kruskal 比较简单,排序+并查集。
最多26个点。
处理下字母,输入共n-1行。
算是复习了。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x7ffff...
分类:
其他好文 时间:
2014-07-04 08:05:41
阅读次数:
289
最小生成树,也算是模版题。
依然Kruskal。N个点,M条边,排序,并查集。
没有什么坑点。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x7fffffff
#define eps 1e...
分类:
Web程序 时间:
2014-07-04 07:00:08
阅读次数:
327
多种方法,可以理解为最短路变形。
也可以当作最小生成树。
题意理解就很简单。
青蛙A到青蛙B之间距离中某一次跳的距离,选出最大的。
写了2个最短路的。SPFA 和 Dijkstra。
顺便熟悉一下最小生成树,也写个Kruskal 的。
SPFA:
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2014-07-03 13:52:06
阅读次数:
146
搭建一个最小代价的网络,最原始的最小生成树的应用。
这里使用Union find和Kruskal算法求解.
注意:
1 给出的数据是原始的矩阵图,但是需要转化为边表示的图,方便运用Kruskal,因为需要sort
2 减少边,一个矩阵最多需要(N*N-N)>>1条边,有人讨论本题是否有向,那是无意义的,因为本题的最小生成树和方向无关。
3 使用Union find是为了判断是否有环,比原...
分类:
Web程序 时间:
2014-06-30 08:10:08
阅读次数:
200
本题也是使用Prime和Kruskal都可以的最小生成树的题解。
本题一点新意就是:需要除去最大的S-1个距离,因为可以使用卫星覆盖这些距离。
技巧:建图建有向图,速度快点,不用计算两边。
这里使用Prime,因为是稠密图。
#include
#include
#include
#include
#include
#include
using std::sort;
c...
分类:
Web程序 时间:
2014-06-30 00:16:45
阅读次数:
292
题目:
输入顶点数目,边的数目,输入每条边的两个顶点编号还有每条边的权值,求最小生成树,输出最小生成树的权值。。
注意:prim算法适合稠密图,其时间复杂度为O(n^2),其时间复杂度与边得数目无关,而kruskal算法的时间复杂度为O(eloge)跟边的数目有关,适合稀疏图。
kruskal----归并边;prim----归并点
方法一:kruskal,克鲁斯卡尔...
分类:
其他好文 时间:
2014-06-28 09:08:53
阅读次数:
177
题意:平面上有若干个点,求最小生成树。有最多8个套餐,每个套餐有一个价格和若干个点,一旦购买套餐内的点就会相互连通。思路:由于套餐不是很多,所以枚举一下即可,然后最小生成树就行了。代码如下: 1 /**************************************************....
分类:
其他好文 时间:
2014-06-26 11:16:15
阅读次数:
313