题目链接: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
过路费 【问题描述】在某个遥远的国家里,有 n 个城市。编号为 1,2,3,…,n。这个国家的政府修 建了 m 条双向道路,每条道路连接着两个城市。政府规定从城市 S 到城市 T 需 要收取的过路费为所经过城市之间道路长度的最大值。如:A 到 B 长度为 2,B 到 C 长度为 3,那么开车从 A....
分类:
其他好文 时间:
2015-08-11 00:00:21
阅读次数:
415
继续畅通工程
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17798 Accepted Submission(s): 7662
Problem Description
省政府“畅通工程”的目标是使全省任何两个村庄...
分类:
其他好文 时间:
2015-08-10 22:12:02
阅读次数:
132
Constructing Roads
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 20889
Accepted: 8817
Description
There are N villages, which are numbered from 1 to N,...
分类:
其他好文 时间:
2015-08-10 20:06:35
阅读次数:
108
Agri-Net
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 45145
Accepted: 18534
Description
Farmer John has been elected mayor of his town! One of his cam...
分类:
其他好文 时间:
2015-08-10 16:15:14
阅读次数:
88
最小生成树:构造连通网的最小代价生成树
1、Prim算法
Prim算法从图的顶点的方向出发,首先确定人一个定点,找到该定点到任意其他顶点的连通代价,然后根据新确定的节点更新到下一个节点的连通代价。
数据结构声明:
struct Graph
{
int vertexes[MAX];
int arc[MAX][MAX];
int sum_vertexes...
分类:
其他好文 时间:
2015-08-09 09:35:46
阅读次数:
97
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=475题意:求点1到2所有路径上最大边的最小值。解法:Kruskal按边值排序。直到1,2联通。代码:#include
#include
#include <algor...
分类:
其他好文 时间:
2015-08-08 19:58:43
阅读次数:
112