
最小生成树
zz09
这个作者很懒,什么都没留下…
展开
-
HDU 1875 畅通工程
........................................................................................................................................................................................................原创 2013-04-26 15:35:42 · 530 阅读 · 0 评论 -
hdu 1879 继续畅通工程
........................................................................................................................................................................................................原创 2013-04-26 19:33:50 · 666 阅读 · 0 评论 -
hdu 1874 畅通工程续
简单题 不解释 代码: #include #include #define INF 300000 using namespace std; int map[200][200]; int main() { int N,M; while(scanf("%d%d",&N,&M)!=EOF) { int a,b,c,i,j,k;原创 2013-04-27 22:00:53 · 579 阅读 · 0 评论 -
HDU 2122Ice_cream’s world III
Problem Description ice_cream’s world becomes stronger and stronger; every road is built as undirected. The queen enjoys traveling around her world; the queen’s requirement is like II problem, beau原创 2013-04-30 16:38:05 · 828 阅读 · 0 评论 -
hdu 3371 Connect the Cities
........................................................................................................................................................................................ 只是最小生成树的变化,题意是原创 2013-05-01 16:41:25 · 668 阅读 · 0 评论 -
poj1258Agri-Net
题目连接:http://poj.org/problem?id=1258 刚看到题目时感觉数据不好处理,后来发现把数据变化一下比较容易处理的方式,就是把个点和边长用结构 体表示,在用kruskal就OK了,就那么简单。 代码: #include #include #include #include #include #include #include #i原创 2013-08-11 09:33:07 · 565 阅读 · 0 评论 -
(Kruskal)克鲁斯卡尔算法
/* 克鲁斯卡尔算法的核心思想是:在带权连通图中, 不断地在边集合中找到最小的边,如果该边满足 得到最小生成树的条件,就将其构造,直到最后 得到一颗最小生成树。 */ #include #include using namespace std; const int MAX=1000; int n,father[MAX],rank[MAX]; //把每条边构成一个结构体,包括起点、终原创 2014-05-23 03:59:16 · 625 阅读 · 0 评论 -
Prim算法
/* Prim算法的基本思想 1.清空生成树,任取一个顶点加入生成树 2.在那些一个端点在生成树里,另一个端点 不在生成树里的边中,选取一条权最小的边, 将它和另一个端点加进生成树 3.重复步骤2,直到所有的顶点都进入了生成树为止, 此时的生成树就是最小生成树 注意:prim算法最小生成树的生成过程中,也有可能构成 回路,需做判断。 */ #define MAX 1000 #def原创 2014-05-23 04:03:51 · 645 阅读 · 0 评论