畅通工程再续Description相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合...
分类:
其他好文 时间:
2014-07-22 22:52:58
阅读次数:
278
题意:给你一个数n,代表有n个村庄,然后要你输入n行n列个数,第i行的第j个元素代表i村与j村的距离,要你求出连通n个村庄所需修的最短路所需要的最大边
思路:用Kruskal算法求
AC代码:
#include
#include
#include
using namespace std;
#define N 125000 //最多的边数为n*(n-1)/2
int u[N],v[N],...
分类:
其他好文 时间:
2014-07-22 22:34:35
阅读次数:
148
因为这个算法比较简单,网上的内容页比较丰富,这里就简单说了。Kruskal算法的核心思想是以“边”(edge)为主角,以此把序把短边放到集合当中,只选取那些不构成环的,直到所有的顶点都存在集合当中。该算法的理论依据就是最小生成树的性质:(例如:v∈V-U),且(u,v)具有最小权值,则最小生成树性质...
分类:
其他好文 时间:
2014-07-21 14:19:19
阅读次数:
210
http://acm.hdu.edu.cn/showproblem.php?pid=1598题意:中文题题解:枚举+最小生成树(Kruskal)。对于每个要查询的s,e,枚举边。总是忘记minn初始化…… 1 #include 2 #include 3 #include 4 #incl...
分类:
其他好文 时间:
2014-07-21 11:25:07
阅读次数:
216
Networking
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 5976
Accepted: 3231
Description
You are assigned to design network connections bet...
分类:
Web程序 时间:
2014-07-19 23:35:59
阅读次数:
300
最小生成树的性质
MST性质:设G = (V,E)是连通带权图,U是V的真子集。如果(u,v)∈E,且u∈U,v∈V-U,且在所有这样的边中,
(u,v)的权c[u][v]最小,那么一定存在G的一棵最小生成树,(u,v)为其中一条边。
构造最小生成树,要解决以下两个问题:
(1).尽可能选取权值小的边,但不能构成回路(也就是环)。
(2).选取n-1条恰当的边以连接网的n个顶点。...
分类:
其他好文 时间:
2014-07-19 23:27:19
阅读次数:
285
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。
使用并查集时,首先会存在一组不相交的动态集合 S={S1,S2,?,Sk},一般都会使用一个整数表示集合中的一个元素。
每个集合可能包含一个...
分类:
其他好文 时间:
2014-07-19 23:23:29
阅读次数:
378
最短路变形或最大生成树变形。
问 目标两地之间能通过的小重量。
用最短路把初始赋为INF,其他为0.然后找 dis[v]=min(dis[u], d);
生成树就是把最大生成树找出来,直到出发和终点能沟通的时候,最小的边就是。
Kruskal:
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-07-19 23:22:59
阅读次数:
236
题目链接:http://poj.org/problem?id=1789
思路:把每一行看成一个一个点,每两行之间不懂得字符个数就看做是权值。然后用kruskal算法计算出最小生成树
我写了两个代码一个是用优先队列写的,但是超时啦,不知道为什么,希望有人可以解答。后面用的数组sort排序然后才AC。
code:
数组sort排序AC代码:
#include
#include
#includ...
分类:
其他好文 时间:
2014-07-18 12:27:55
阅读次数:
242
/*
* poj1251-- Kruskal
* date 2014/7/15
* state AC
*/
#include
#include
#include
#include
#include
using namespace std;
int const MAXN=30+100;
int u[MAXN];
int v[MAXN];
int w[MAXN+50];
int p[...
分类:
其他好文 时间:
2014-07-16 10:34:41
阅读次数:
180