开始想用kruskal算法自己写写runtime error
#include
#include
#include
using namespace std;
int a[2510][25100];
struct weight
{
int a,b;
int value;
bool operator < (const weight & rhs) const
{...
分类:
编程语言 时间:
2015-07-28 21:09:04
阅读次数:
145
判断最小生成树是否唯一。kruskal时记录需要的边,然后枚举删除它们,每次删除时进行kruskal,如果值未变,表明不唯一。#include#include#include#includeusing namespace std;struct Node{ int l; int r; ...
分类:
其他好文 时间:
2015-07-28 10:37:41
阅读次数:
98
题目的意思是求构成生成树的边的最大边和最小边的差最小。枚举即可#include#include#includeusing namespace std;#define maxn 102struct node{ int x; int y; int val;}s[maxn*(maxn-1...
分类:
其他好文 时间:
2015-07-28 10:36:06
阅读次数:
97
题意:最小生成树的最大边最小,sort从小到大即可poj2485#include#include#includeusing namespace std;#define maxn 505int map[maxn][maxn],pa[150000],num,n;struct node{ int x...
分类:
其他好文 时间:
2015-07-28 10:29:26
阅读次数:
126
转载自:http://cojs.tk/cogs/page/page.php?aid=30最小生成树Kruskal+ufs 1 int ufs(int x) { 2 return f[x] == x ? x : f[x] = ufs(f[x]); } int Kruskal() { 3 ...
分类:
编程语言 时间:
2015-07-27 20:22:28
阅读次数:
128
题意:有P个前哨,现在想把他们连成一个整体(也就是最小生成树),有两种方式可以连接(1)卫星连接,只要两个前哨中有一个有卫星,他们就可以通信(2)发射无线电,但是有一定的花费,与距离成正比。求最小的花费(即求无线电通信的所有距离中的最大值)
思路:先用Kruskal求出最小生成树,较长的边使用卫星来通信,那么答案就是ans[P-1-S]。喔,这代码在poj上要用C++交才能过,不知道怎么回事。。。...
分类:
Web程序 时间:
2015-07-27 19:02:51
阅读次数:
119
题目链接:http://poj.org/problem?id=2421想把n个村庄连接在一起;求最小生成树,不同的是已经有了m条线段链接在一起了,求剩下的;感觉用Kruskal会简单一点#include#include#include#include#include#include#define N...
分类:
其他好文 时间:
2015-07-27 18:25:19
阅读次数:
84
45. 蛤蟆的数据结构笔记之四十五克鲁斯卡尔算法
本篇名言:“假如生活欺骗了你 ,
不要忧郁 , 也不要愤慨 !
不顺心的时候暂且容忍 :
相信吧 , 快乐的日子就会到来。--
普希金”
上两篇学习了弗洛伊德和迪杰特斯拉算法。这次来看下克鲁斯卡尔算法。
1. 克鲁斯卡尔算法
克鲁斯卡尔(Kruskal)算法是在剩下的所有未选取的边中,找最小边...
分类:
编程语言 时间:
2015-07-26 22:44:56
阅读次数:
379
1、dijkstra算法 算最短路径的,算法解决的是有向图中单个源点到其他顶点的最短路径问题。 初始化n*n的数组。2、kruskal算法 算最小生成树的,按权值加入3、Prim算法 类似dijkstra算法
分类:
编程语言 时间:
2015-07-26 19:01:17
阅读次数:
220
kruskal和prim都是解决最小生成树问题,都是选取最小边,但kruskal是通过对所有边按从小到大的顺序排过一次序之后,配合并查集实现的。我们取出一条边,判断如果它的始点和终点属于同一棵树,那么跳过,否则合并他们分别所在的树。#include#includeusing namespace st...
分类:
编程语言 时间:
2015-07-26 18:46:56
阅读次数:
127