题解:用kruskal算法,把每个点和右、下两个方向的点的边存起来,权值就是差值的绝对值,然后按升序排序,用并查集找到最小生成树。#include
#include
#include
#include
using namespace std;
const int N = 1005;
int m, n, g[N][N],...
分类:
其他好文 时间:
2015-06-01 09:47:04
阅读次数:
115
赤裸裸最小生成树,没啥说的,我用kruskal过的/* * Author : ben */#include #include #include #include #include #include #include #include #include #include #include #in...
分类:
其他好文 时间:
2015-05-31 20:02:27
阅读次数:
131
kruskal求得的生成树是最小生成树的证明
给一带权连通的树一定会有至少一棵生成树,那么这些生成树中间必然会会存在至少一棵最小生成树。
假设T是用kruskal求出来的最小生成树,而U是这个图的最小生成树,如果U == T,那么证明结束。
然而如果T != U,那么至少存在一条边在T中,不在U中。那么我们希望证明T和U中所有边的权值之和是相等的。假设存在k条边存在T中不存在U中...
分类:
其他好文 时间:
2015-05-30 22:46:57
阅读次数:
209
POJ2377Bad Cowtractors(最大生成树)
POJ2377Bad Cowtractors
题目大意:给一个带权无向图,求最大生成树。
解题思路:
因为最小生成树按照kruskal的贪心算法是可以证明正确的,那么反向我们取最大的权值的边,然后不断的加入形成的生成树就是最大生成树。
代码:
#include
#include
using na...
分类:
其他好文 时间:
2015-05-30 21:11:21
阅读次数:
349
求加权连通图的最小生成树的算法。kruskal算法总共选择n-
1条边,(共n条边)所使用的贪婪准则是:从剩下的边中选择一条不会产生环路的具有最小耗费的边加入已选择的边的集合中。注意到所选取的边若产生环路则不可能形成一棵生成树。kruskal算法分e
步,其中e 是网络中边的数目。按耗费递增的顺序来考虑这e 条边,每次考虑一条边。当考虑某条边时,若将其加入到已选边的集合中会出现环路,则将其...
分类:
编程语言 时间:
2015-05-27 15:58:08
阅读次数:
171
1 #include "stdio.h" 2 #include "stdlib.h" 3 struct edge 4 { 5 int m; 6 int n; 7 int d; 8 }a[5010]; 9 int cmp(const void *a,const void *b...
分类:
编程语言 时间:
2015-05-26 20:26:59
阅读次数:
147
package org.loda.graph;
import org.loda.structure.MinQ;
import org.loda.structure.Queue;
import org.loda.util.In;
/**
*
* @ClassName: KruskalMST
* @Description:Kruskal最小生成树算法
* @author...
分类:
编程语言 时间:
2015-05-26 06:54:36
阅读次数:
168
一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或Prim(普里姆)算法求出。应用:例如要在n个城市之间铺设光缆,主要目标是要使这n个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个...
分类:
编程语言 时间:
2015-05-26 06:44:52
阅读次数:
265
首先是定义上
最小生成树能够保证整个拓扑图的所有路径之和最小,但不能保证任意两点之间是最短路径。
最短路径是从一点出发,到达目的地的路径最小。
实现方法
1. 最小生成树
最小生成树有两种算法来得到:Prims算法和Kruskal算法。
Kruskal算法:根据边的加权值以递增的方式,一次找出加权值最低的边来构建最小生成树,而且规定:每次添加的边不能造成生成树有回路,知道找...
分类:
其他好文 时间:
2015-05-25 11:29:02
阅读次数:
274
http://acm.hdu.edu.cn/showproblem.php?pid=1233杭电ACM暑期集训队的选拔还是畅通工程Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total ...
分类:
其他好文 时间:
2015-05-24 06:26:53
阅读次数:
140