畅通工程再续
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 19462 Accepted Submission(s): 6095
Problem Description
相信大家都听说一个“百岛湖”的地方吧...
分类:
编程语言 时间:
2015-08-11 16:22:07
阅读次数:
165
本题链接:点击打开链接
本题题意:
有n条路m个村庄,输入每条路连接哪两个村庄,及修该段路的费用,求使所有村庄均可畅通(并非两两均连通)
的最少费用。
解题思路:
此题与hdu 1233 还是畅通工程 相类似,均是使用kruskal算法思想。
具体请参考代码:
#include
#include
using namespace std;
int ...
分类:
其他好文 时间:
2015-08-11 16:11:45
阅读次数:
124
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1162
【题目大意】
给你n个点的坐标,让你找到联通n个点的一种方法,保证联通的线路最短,典型的最小生成树问题。
方法一 , 通过不断找到最小的边来找到最终结果。
Kruskal 算法
#include
#include
#include
#include
u...
分类:
编程语言 时间:
2015-08-11 16:09:50
阅读次数:
124
分析:Kruskal算法思想:按照边的权值的顺序从小到大查看一遍,如果不产生环(重边也算在内),就把当前这条边加入到生成树中。
#include
#include
using namespace std;
int per[110];
int n;
struct stu
{
int u,v,w;
}edge[10000];
int cmp(stu x,stu y)
{
r...
分类:
其他好文 时间:
2015-08-11 12:18:07
阅读次数:
102
本题链接:点击打开链接
本题大意:
有n个村庄,n*(n-1)/2条路,输入每条路所连接是哪两个村庄及长度,求使所有村庄均连通(并非都两两连通)
所铺公路的最短路程。
解题思路:
使用并查集基础及Kruskal算法。使用一结构体存放该条路所连接的两个村庄及公路长度。
参考代码:
#include
#include
using namespace s...
分类:
其他好文 时间:
2015-08-11 12:13:49
阅读次数:
78
并查集的应用 ,Kruskal,最小生成树算法。
求加权连通图的最小生成树的算法。kruskal算法总共选择n- 1条边,(共n个点);
每次从剩下的边中选择一条不会产生环路的具有最小耗费(最小权值)的边加入已选择的边的集合中。
直到选择完第n-1条边。
算法步骤
1.创建一个森林(很多棵树),无向图中的每个节点就是一棵树
2.创建一个集合S,这个集合中保存了最...
分类:
编程语言 时间:
2015-08-11 08:34:27
阅读次数:
162
求最小生成树的Prim算法和Kruskal算法都是漂亮的贪心算法。贪心法的应用算法有Dijkstra的单源最短路径和Chvatal的贪心集合覆盖启发式贪心算法可以与随机化算法一起使用,具体的例子就不再多举了。很多的智能算法(也叫启发式算法),本质上就是贪心算法和随机化算法结合。这样的算法结果虽然也是...
分类:
其他好文 时间:
2015-08-07 19:10:16
阅读次数:
293
UVAlive X-Plosives思路: “如果车上存在k个简单化合物,正好包含k种元素,那么他们将组成一个易爆的混合物” 如果将(a,b)看作一条边那么题意就是不能出现环,很容易联想到Kruskal算法中并查集的判环功能(新加入的边必须属于不同的两个集合否则出现环),因此本题可以用并查集实现。模...
分类:
其他好文 时间:
2015-08-07 13:11:40
阅读次数:
107
Kruskal算法的过程:(1) 将全部边按照权值由小到大排序。 (2) 按顺序(边权由小到大的顺序)考虑没条边,只要这条边和我们已经选择的边步构成圈,就保留这条边,否则放弃这条边。算法 成功选择(n-1)条边后,形成一个棵最小生成树,当然如果算法无法选择出(n-1)条边,则说明原图不连通。图中的路...
分类:
编程语言 时间:
2015-08-05 20:18:31
阅读次数:
183
uvalive3887给定一个带权的无向图,求得一棵最小生成树,是的树中的最大边权-最小边权的差值最小分析:当确定一个最小边时(其他的边的权值都比他大),那么之后按照kruskal算法得到的最小生成树,此时得到的最小生成树的最大权值也肯定是最小的,因为是kruskal是按照贪心来选边的。所以只要不断...
分类:
其他好文 时间:
2015-07-30 09:22:21
阅读次数:
97