问题:POJ2485本题求解生成树最大边的最小值分析:首先证明生成树最大边的最小值即最小生成树的最大边。假设:生成树最大边的最小值比最小生成树的最大边更小。不妨设C为G的一个最小生成树,e是其中的最大边。把e从C中去除,则C被分成C1,C2两个连通子集。假设存在最大边小于e的生成树CC,则CC中连接...
分类:
其他好文 时间:
2014-07-07 10:13:20
阅读次数:
237
基础最小生成树。Kruskal 比较简单,排序+并查集。
最多26个点。
处理下字母,输入共n-1行。
算是复习了。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x7ffff...
分类:
其他好文 时间:
2014-07-04 08:05:41
阅读次数:
289
最小生成树,也算是模版题。
依然Kruskal。N个点,M条边,排序,并查集。
没有什么坑点。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x7fffffff
#define eps 1e...
分类:
Web程序 时间:
2014-07-04 07:00:08
阅读次数:
327
问题: POJ3026分析:采用BFS算出两两之间的距离,再用PRIM算法计算最小生成树。AC代码: 1 //Memory: 220K Time: 32MS 2 #include 3 #include 4 #include 5 #include 6 #include...
分类:
其他好文 时间:
2014-07-03 23:17:55
阅读次数:
362
hdu1301&poj1251 Jungle Roads(最小生成树之prim算法)...
分类:
其他好文 时间:
2014-07-03 17:21:17
阅读次数:
155
多种方法,可以理解为最短路变形。
也可以当作最小生成树。
题意理解就很简单。
青蛙A到青蛙B之间距离中某一次跳的距离,选出最大的。
写了2个最短路的。SPFA 和 Dijkstra。
顺便熟悉一下最小生成树,也写个Kruskal 的。
SPFA:
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2014-07-03 13:52:06
阅读次数:
146
类似于我上一篇解题报告。POJ 2253 Frogger。
也是最短路的变形,也可以当成生成树做。
2253 是求跳的路径中 权值最小的那一条。
而这道题1797 是求路径中 权值最大的那一条。
只需要把2253 中的dis[]初始赋INF,其他赋为0。然后dis[v]
d是某一边的大小。u出发点,v是到达点。
程序基本和 2253 一样。
#include
#include...
分类:
其他好文 时间:
2014-07-03 13:31:00
阅读次数:
193
Prim算法:
假设N = (V,{E})是连通网,TE是N上最小生成树中边的集合。算法从U={u0}(u0属于V),TE={}开始,重复执行下述操作:在所有u属于U,v属于V-U的边(u,v)属于E中找到一条代价最小的边(u0,v0)并入集合TE,同时v0并入U,直至U=V为止,此时TE中必有n-1条边,则T=(V,{TE})为N的最小生成树.
为实现这个算法,需附设一个辅助数组cl...
分类:
其他好文 时间:
2014-07-01 15:44:15
阅读次数:
254
搭建一个最小代价的网络,最原始的最小生成树的应用。
这里使用Union find和Kruskal算法求解.
注意:
1 给出的数据是原始的矩阵图,但是需要转化为边表示的图,方便运用Kruskal,因为需要sort
2 减少边,一个矩阵最多需要(N*N-N)>>1条边,有人讨论本题是否有向,那是无意义的,因为本题的最小生成树和方向无关。
3 使用Union find是为了判断是否有环,比原...
分类:
Web程序 时间:
2014-06-30 08:10:08
阅读次数:
200