ACM_最小生成树
LzyRapX
Just For Fun .
展开
-
无向图最小生成树(prim算法)
输入第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量。(2 <= N <= 1000, 1 <= M <= 50000)第2 - M + 1行:每行3个数S E W,分别表示M条边的2个顶点及权值。(1 输出输出最小生成树的所有边的权值之和。输入示例9 141 2 42 3 83 4 74原创 2016-04-15 12:47:57 · 2509 阅读 · 0 评论 -
安慰奶牛 (Kruskal) (最小生成树)
问题描述Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的N-1条道路。第j条双向道路连接了牧场Sj和Ej(1 j j <= N; Sj != Ej),而且走完它需要Lj的时间原创 2017-03-07 22:34:03 · 527 阅读 · 0 评论 -
PE 107 Minimal network (MST)
Minimal networkProblem 107The following undirected network consists of seven vertices and twelve edges with a total weight of 243.The same network can be represented by the matrix be原创 2016-12-24 00:14:28 · 686 阅读 · 0 评论 -
Prim算法的实现及应用( 最小生成树)
关于prim算法先把有的点放于一个集合(或者数组)里,这个集合里存放的是所有走过的点。初始值为0或者false表示还没有点声明一个一维数组用于记录各点的权值[可理解为起始点到目标点的距离],声明一个二维数组用于记录某点到某一点的权值,如果这两点不可达到,则设置为无穷大具体执行过程:先从某一点开始,把这一个开始的点放于声明的一个数组或者集合里,表明这一点已经被原创 2016-05-03 22:45:26 · 971 阅读 · 2 评论 -
HDU 1162 Eddy's picture(点连通:最小生成树)
Eddy's pictureTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9101 Accepted Submission(s): 4607Problem DescriptionEddy begins to li原创 2016-07-14 14:38:05 · 465 阅读 · 0 评论 -
怎么证明权重不相同的加权无向图的最小生成树是唯一的 (图论)
设G是所有边权均不相同的无向联通图。证明一:首先,易证图G中权值最小的边一定是最小生成树中的边。(否则最小生成树加上权值最小的边后构成一个环,去掉环中任意一条非此边则形成了另一个权值更小的生成树)。之后用反证法,假设G存在俩个不同的最小生成树①.设G的俩个不同的最小生成树T1 T2,设这俩颗生成树的并集为子图G1,G1为连通图且T1 T2显然为G1的最小生成树,由首原创 2016-06-07 12:56:23 · 8667 阅读 · 0 评论 -
Kruskal算法(贪心+并查集=最小生成树)
http://www.51nod.com/Kruskal算法的高效实现需要一种称作并查集的结构。我们在这里不介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论。Kruskal算法的过程:(1) 将全部边按照权值由小到大排序。(2) 按顺序(边权由小到大的顺序)考虑每条边,只要这条边和我们已经选择的边不构成圈,就保留这条边,否则放弃这条边。原创 2016-04-16 17:34:35 · 17608 阅读 · 11 评论 -
湖南修路(最小生成树prim)
description现得到乡村道路统计表,表中列出了任意两村间修建道路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全部畅通需要的最低成本。 input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( 1 output每个测试用例的输出占一行,输出原创 2016-05-03 23:17:07 · 522 阅读 · 0 评论 -
最小树(二)(最小生成树prim)
description在森林里住了n只小熊,他们分别叫小熊A,小熊B……,小熊们决定修建水泥路让他们能更加方便的往来,使得任何一只小熊都能轻松到达其他小熊的家,同时小熊们希望修建的水泥路最短。 input测试输入若干实例,每个测试实例第一行给出小熊的数目n和小熊们能直接通往的m条道路,(n,m原创 2016-05-03 23:14:40 · 1557 阅读 · 0 评论 -
最小树(一)(prim最小生成树)
description某省长调查交通情况,发现本省交通事故发生不断,于是决定在本省内全部修建地铁。该省长得到的统计表中列出了任意两市之间的距离,为了确保任何两个市都可以直接或者间接实现地铁交通,并要求铺设的地铁总长度最小,请计算最小的地铁总长度。 input测试输入包含若干测试用例。每个测试用例的第一行给出市的数目n,(n原创 2016-05-03 23:02:55 · 1341 阅读 · 0 评论 -
HDU 1233 还是畅通工程(最小生成树)
还是畅通工程Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37570 Accepted Submission(s): 16923Problem Description某省调查乡村交通状况,得到的统计表中列出了原创 2016-05-03 22:12:35 · 388 阅读 · 0 评论 -
prim算法模板 (最小生成树)
求无向图的最小生成树的主要算法有:prim算法和Kruskal算法最小生成树:prim算法 算法的实现模板:#define MIN INT_MAX#define MAX_Point 120 //最大顶点数 #define MAX_Edge 14400 //最大的边数 int flag1 =0;double sum;double arr_list[MAX_point]原创 2016-05-03 21:40:18 · 1366 阅读 · 0 评论 -
Prim 算法求最小生成树 O(n^2)
最小生成树: 给出一个无向图 G=(V ,E) , V(vertex)表示 图上点的集合, E(edge)表示这个图上边的集合。对于图上每一条边(u,v)∈ E , 都有一个权值 w(u,v)。我们希望找出一个不含有回路的自己T⊆ E,它连接了所有的节点。(通俗的说:就是在一个无向图上选出一些边,是所有点连同,并且无环(因为生成的结果是一个树 ,树是无环的))。而最小生成树是 是取出原创 2016-04-09 19:19:15 · 1418 阅读 · 0 评论 -
最小方差生成树 (Kruskal)
问题描述给定带权无向图,求出一颗方差最小的生成树。输入格式输入多组测试数据。第一行为N,M,依次是点数和边数。接下来M行,每行三个整数U,V,W,代表连接U,V的边,和权值W。保证图连通。n=m=0标志着测试文件的结束。输出格式对于每组数据,输出最小方差,四舍五入到0.01。输出格式按照样例。样例输入4 51 2 12 3 23原创 2017-03-16 19:52:31 · 2737 阅读 · 0 评论