
图论——MST及相关
文章平均质量分 75
dumeichen
这个作者很懒,什么都没留下…
展开
-
poj 1251 MST
最小生成树模板。注意读入方法。#include #include #define N 30#define MaxRoad 78#define INF 0x3fffffffint n,top;struct egge{ int y,w,next;}e[MaxRoad*2];int first[N],dis[N],visited[N];void init(){ int i;原创 2014-07-07 16:39:53 · 424 阅读 · 0 评论 -
poj 1258 MST模板题(用PRIM+堆实现)
题意:求图的MST。思路:PRIM算法,其中找最小边用priority_queue实现。注意不加堆的Prim 算法适用于密集图(O(V^2)),加堆的适用于稀疏图O(ElogV)。#include #include #include #include #include #include using namespace std;#define N 105struct edge原创 2015-07-27 20:41:44 · 426 阅读 · 0 评论 -
poj 3026 bfs+mst(消灭外星人)
题意:给出一个二维字符串,里面有#代表不能走,' '空格代表可以走,然后还有'A'和'S'代表人,问从S到达所有'A'的最小通路,其中S点或者走到一个A点时可以分身。思路:从其中每个人的位置开始深搜求出到其他点得距离。在这个图上求MST即为所求。深搜的时候用一维保存位置,4个方向变成了+1,-1,+m,-m。此时需要注意+1和-1是否出现换行的情况。#include #include原创 2015-02-26 19:10:04 · 375 阅读 · 0 评论 -
poj 2728 最优比率生成树(国王修运河)
题意:给定若干点对(x,y,z),其中(x,y)表示点的坐标,z表示这个点的高度。这些点构成一个图, 每条边有花费C(高度差)和长度L(坐标的距离) ,这两个数都是非负整数。求一个生成树,使得花费之和与长度之和的比最小。即求r = (C1+C2+…+Cn-1)/(L1+L2+…+Ln-1) 最小思路:最优比率生成树。我们先假设这个比例为r,则对于任意r应该有:r(min) 生成树有n-1条原创 2014-12-03 21:58:40 · 1421 阅读 · 0 评论 -
poj 1639 度限制生成树(小矮人野餐)
题意(参考http://www.cnblogs.com/SueMiller/archive/2011/08/10/2133871.html):原创 2014-08-09 21:18:12 · 881 阅读 · 0 评论 -
poj 1287 MST(kruskal)
题意:求最小生成树,题目按边输入,有重边思路:kruskal算法。(题目中说边的sh)原创 2014-07-10 16:59:31 · 335 阅读 · 0 评论 -
poj 2395 最小瓶颈树(kruskal)
题意:求最小生成树中的最长边思路:kruskal算法,最后jiaru原创 2014-07-16 10:52:40 · 507 阅读 · 0 评论 -
poj 3522 二分+判图连通(最小Slim生成树)
题意:首先定义Slim为一个带权树中最大权减去最小权的值。给定一个无向图,如果它存在生成树,求其所有生成树中得最小Slim值。思路:二分Slim值。对于每次选定的Slim值,枚举所有可能的生成树。方法为首先将边权值排序,然后设定两个游标i和j,i从0开始向右扫,相应的j为使得w[j]-w[i]#include #include #include #define N 105int g原创 2015-02-06 16:43:37 · 348 阅读 · 0 评论 -
poj2421 MST(prim+临接表)
最小生成树水题,写一个试试ubuntu下的nsight原创 2014-05-07 22:55:40 · 612 阅读 · 0 评论 -
poj 3164 朱刘算法(最小树形图)
题意:裸题。所谓最小树形图:给定一个带权有向图和一个固定结点n,求从n出发能到达所有点的最小权生成树。思路:朱刘算法,最坏情况复杂度位O(VE)。后有优化算法降低了复杂度。算法步骤如下:(本文不再证明,参考下面给出的我自己画的一个图即可理解)1.判断图的连通性,若不连通直接无解,否则一定有解。2.为除了根节点以外的所有点选择一个权值最小的入边,假设用pre数组记录前驱,f数组记录选原创 2015-11-11 14:08:14 · 792 阅读 · 1 评论