链接:http://poj.org/problem?id=1679
题意:告诉你有n个点,m条边,以及m条边的信息(起点、终点、权值),判断最小生成树是否唯一
判断MST是否唯一的思路是这样:对于每条边如果有和他相等权值的边,则做一个标记,然后进行一遍kruskal或prim找出最小生成树权值,然后对于每个使用过并且有相等边标记的边,把它从图中删去,再进行一遍kruskal或prim,...
分类:
其他好文 时间:
2014-08-05 14:12:39
阅读次数:
308
最小生成树
给定一无向带权图,顶点数是n,要使图连通只需n-1条边,若这n-1条边的权值和最小,则称有这n个顶点和n-1条边构成了图的最小生成树(minimum-cost spanning tree)。
Prim算法
Prim算法是解决最小生成树的常用算法。它采取贪心策略,从指定的顶点开始寻找最小权值的邻接点。图G=,初始时S={V0},把与V0相邻接,且边的权值最小的顶点加入到S。不断地把S中的顶点与V-S中顶点的最小权值边加入,直到所有顶点都已加入到S中。...
分类:
其他好文 时间:
2014-08-05 00:39:08
阅读次数:
313
题目来源:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1310 最小生成树问题,Prim算法在这种给出坐标的情况相对Kruskal算法优势还是很大。 .....
分类:
Web程序 时间:
2014-08-04 20:39:27
阅读次数:
312
POJ 1258 Agri-Net (最小生成树+Prim)...
分类:
Web程序 时间:
2014-08-04 17:45:37
阅读次数:
293
链接:http://poj.org/problem?id=2421
题意:n个村庄,告诉你任两个村庄间距离,要建一些路使得任两个村庄都可以互相到达,需要使花费最小,其中有q条路已经建了,求最小花费。
把已经建的路的权值改为0,再prim就行了。kruskal做的话,把建好的路用并查集合并,再kruskal就行了
#include
#include
#include
#incl...
分类:
其他好文 时间:
2014-08-04 17:37:07
阅读次数:
189
求解最小生成树(Minimum Cost Spanning Tree,以下简写做MST)是图相关的算法中常见的一个,本篇介绍两种求解MST的算法:Prim和Kruskal,然后测试之。
分类:
其他好文 时间:
2014-08-01 06:57:11
阅读次数:
394
题目链接:Building a Space Station
最小生成树的模板题,prim和kuruskal都可以,但是要注意精度损失。
题意:给定一个三维坐标系,给定一些圆的圆心坐标,和半径,求出所有圆心构成的最小生成树;
特别注意:两个圆如果相交在一起,算做联通,距离为0;
C++提交
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-07-31 17:06:56
阅读次数:
215
1.poj 3026 Borg Maze()http://poj.org/problem?id=3026在一个迷宫里由S找到所有A(找到过的A可以当S来用)所用最短步 ,即s到a中所有最短路径的和bfs+prim 广搜+最小生成树 难点:通过图建立map[][]数组 2.poj 2049 ...
分类:
其他好文 时间:
2014-07-31 16:36:46
阅读次数:
252
题目来源:http://poj.org/problem?id=2485 用贪心策略构成最小生成树,有常用的两种算法Prim算法和Kruskal算法。本题我采用的是Prim算法。设带权图为V,首先随便选一点作为构成一个真子集S,然后在采取贪心策略,选取V-S中的某一点到S中一点的最小距离并将该点添.....
分类:
其他好文 时间:
2014-07-31 16:20:46
阅读次数:
219
#include #include #define INF 100000000int map[101][101];int dis[101];int vis[101];int n;long long ans = 0;void prim(){ int i,j; int min,pos; ...
分类:
其他好文 时间:
2014-07-31 13:08:46
阅读次数:
236