题目大意:
输入一个数n表示岛上的村庄数,接下来输入n-1行,每行先输入一个乡村名称,接下来输入与其邻接的乡村数,之后输入没给邻接的乡村及道路权值,以此类推共n-1行,最后题目要求输出该联通图的最小生成树的最小代价。
算法思想:
1.先建立一个邻接表,用来存储连通图。
2.从邻接表中读出,联通图的所有边。
3.将读出的边进行排序。
...
分类:
其他好文 时间:
2014-11-25 16:28:24
阅读次数:
245
题目大意:给你M个村庄、N条路,即N条路所连接的两个村庄即路程。
问能否各个村庄都能有路达到,若不通,则输出'?',若通,则计算出连接
所有村庄最小的路程和
思路:先用并查集判断能否所有村庄。把有路连接的村庄并到一个集合里。
最后,若只有一个集合,则所有村庄都能连接。若有两个以上,则肯定有
村庄不能到达。然后用Prim算法计算出图的最小生成树。...
分类:
其他好文 时间:
2014-10-19 21:24:37
阅读次数:
193
题目大意:给定一个无向图,求最小生成树的方案数
首先对于一个无向图的最小生成树,每种边权的边的数量是一定的
首先我们先跑一遍Kruskal,求出最小生成树上每种边权的出现次数
然后对于每种出现在最小生成树上的边权,我们从小到大处理
对于每种边权,我们枚举这种边权的边有多少种方案可以加进最小生成树上而不形成环 这个用状压处理
ans乘上这个值 然后把这种边权连接的所有联通块缩点
注意最小...
分类:
Web程序 时间:
2014-10-18 17:02:36
阅读次数:
255
队列: 先进先出(FIFO)。优先级队列: 在优先级队列中,数据项按照关键字的值有序,关键字最小的数据项总在对头,数据项插入的时候会按照顺序插入到合适的位置以确保队列的顺序,从后往前将小于插入项的数据项后移。在图的最小生成树算法中应用优先级队列。示例代码:package chap04.Queue;c...
分类:
编程语言 时间:
2014-10-14 17:49:59
阅读次数:
230
理论:Prim:基本思想:假设G=(V,E)是连通的,TE是G上最小生成树中边的集合。算法从U={u0}(u0∈V)、TE={}开始。重复执行下列操作:在所有u∈U,v∈V-U的边(u,v)∈E中找一条权值最小的边(u0,v0)并入集合TE中,同时v0并入U,直到V=U为止。此时,TE中必有n-1条...
分类:
其他好文 时间:
2014-10-04 20:02:37
阅读次数:
503
题目链接:
啊哈哈,点我点我
思路:根据字符串中不同的长度建图,然后求图的最小生成树。。
题目:
Truck History
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 18272
Accepted: 7070
Description
Adv...
分类:
其他好文 时间:
2014-08-11 00:32:41
阅读次数:
271
Problem E. Opening Portals
首先根据传送门的性质,如果所有点都是传送门的话那么结果就是该图的最小生成树。
对于只有其中 k 个结点是传送门的图,只要在原算法的基础上稍作修改即可。
具体,对每个点求出 P[i] 和 D[i] 。(表示距离这个点最近的传送门和其距离。。。
之后对每条边,再根据 D[x] + D[y] + w 作为关键字跑最小生成树。。
以上分别...
分类:
其他好文 时间:
2014-08-06 02:01:23
阅读次数:
358
最小生成树
给定一无向带权图,顶点数是n,要使图连通只需n-1条边,若这n-1条边的权值和最小,则称有这n个顶点和n-1条边构成了图的最小生成树(minimum-cost spanning tree)。
Prim算法
Prim算法是解决最小生成树的常用算法。它采取贪心策略,从指定的顶点开始寻找最小权值的邻接点。图G=,初始时S={V0},把与V0相邻接,且边的权值最小的顶点加入到S。不断地把S中的顶点与V-S中顶点的最小权值边加入,直到所有顶点都已加入到S中。...
分类:
其他好文 时间:
2014-08-05 00:39:08
阅读次数:
313
一个无向图G的最小生成树就是由该图的那些连接了G的所有顶点的边构成的树,且其总权重最低。最小生成树存在当且仅当G是连通的。对于任何一生成树T,如果将一条不属于T的边e加进来,则产生一个圈。如果从圈中除去任意一条边,则又恢复树的特性。如果边e的权值比除去的边的值低,那么新生成的树的值就比原生成的树的值...
分类:
其他好文 时间:
2014-07-25 02:32:34
阅读次数:
394