原题网址,http://hihocoder.com/problemset/problem/1097#1097 : 最小生成树一·Prim算法时间限制:10000ms单点时限:1000ms内存限制:256MB描述最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以拥有不止一...
分类:
编程语言 时间:
2015-08-30 22:50:17
阅读次数:
157
普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。
借用维基百科的定义就是:
从单一顶点开始,普里姆算法按照以下步骤逐步扩大树中所含顶点的数目,直到遍及连通图的所有顶点。
输入:一个加权连通图,其中顶点集合为V,边集合为E;
初始化:Vnew = {x...
分类:
编程语言 时间:
2015-08-29 21:44:02
阅读次数:
150
最小生成树问题 村村通中,修路,最少的钱就连通起来了。连通图。最少的边,prim算法 思路是:从根节点开始让一棵小树慢慢长大
分类:
其他好文 时间:
2015-08-28 15:04:01
阅读次数:
130
1 #include 2 #include 3 #include 4 using namespace std; 5 const int N=1001; 6 const int inf=1<<29; 7 int w[N][N]; 8 int dis[N],flag[N]; 9 int n,m,...
分类:
编程语言 时间:
2015-08-28 12:48:05
阅读次数:
146
重要的事情说三遍kruskal不可能AC kruskal不可能AC kruskal不可能AC
如果你说你能AC,请把你的代码再交一遍试试(这题的数据可能加强过),再把代码发我,让我开开眼界
开始随意的写了个没优化的prim算法都TLE到死,临接矩阵可以飘过,加了堆优化可能好一点,心太累,已经AC了就不想改了
#include
#include
#include
#include
#defin...
分类:
其他好文 时间:
2015-08-26 12:13:16
阅读次数:
137
由于点数只有16,而点1又必选,暴力枚举选点情况,每次做一个最小生成树这里用的prim算法,要注意的是存在选取这些点但找不到生成树的情况,需要将之排出#include#include#include#include#includeusing namespace std;const int INF=0...
分类:
其他好文 时间:
2015-08-25 23:18:04
阅读次数:
114
uva上的题目总是要难一些的。。。总是会拐弯抹角,这道题目给出有的建筑之间已经建好了光缆,让求最小生成树,我还是比较喜欢用kruskal算法,但是这道题目肯定用prim比较快,prim复杂度是n^2,kruskal复杂度eloge。
用kruskal时需要预先用并查集处理一下已经建好的光缆,让他们属于同一个祖先;
用prim算法的时候需要把他们的边置为0,这样算sum的时候就不会加上了。
代...
分类:
其他好文 时间:
2015-08-21 23:28:05
阅读次数:
279
题意为将所有点连起来,但是有些边已经帮你连好了,要求你将剩下的连起来形成最小生成树。因为一些点已经连起来了,所以应该选用kruskal算法。虽然这道题的图是按照邻接矩阵给出的,但选用prim算法的话,实现起来反而不容易还容易出错,倒不如自己对输入进行一些加工,然后选取kruskal算法。#inclu...
分类:
其他好文 时间:
2015-08-21 21:11:13
阅读次数:
127
简单最小生成树,畅通工程,这三道题目都是练习最小生成树的。
注意一下判断是否有通路时,kruskal可以判断每个点的祖先是否相同,prim可以判断每个点是否都加进集合里面了,也就是说是否都访问过。prim算法要把没有给的边初始化为MAX无穷大。。。
代码:(kruskal)
#include
#include
#include
#include
#include
#include
#incl...
分类:
其他好文 时间:
2015-08-21 11:25:49
阅读次数:
131
prim算法的基本思想:从连通网N={V,E}中的某一顶点U0出发,选择与它关联的具有最小权值的边(U0,v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个顶点不在U中的各条边中选择权值最小的边(u,v),把它的顶点加入到集合U中。如此继续下去,直到网中的所有顶点都加入到...
分类:
编程语言 时间:
2015-08-20 22:23:14
阅读次数:
331