最小生成树
文章平均质量分 64
愤怒的北方酱
这个作者很懒,什么都没留下…
展开
-
poj1251解题报告
题目大意:给你一个AOE网络,表示一个森林,有结点权(村庄编号),也有边权(费用),保持森林中每个村子都有道路相通,且维修所需要的最少money。 解题思路:MST最小生成树,kruska算法~~ 没什么要注意的,我的算法改自刘汝佳的模板 #include #include #include #include using namespace std; const int max原创 2015-06-19 21:46:56 · 472 阅读 · 0 评论 -
poj1861解题报告
题目大意:给出n个点和m条边,求出最小生成树,输出最小生成树权值最大的第一条边,然后再输出最小生成树的边数, 解题思路:直接上kruskal的模板即可,但需要改一下,一是要记录最长边,二是要记录生成了几条边,三是要记录要使用了哪些边(用两对结点表示) 注意点:1.样例是错的,WQNMLGB 2.输出的第二行不是总长度,是生成树的边数 #include #原创 2015-07-12 16:58:37 · 444 阅读 · 0 评论 -
poj2485解题报告
题目大意:Flatopia岛要修路,这个岛上有n个城市,要求修完路后,各城市之间可以相互到达,且修的总路程最短。求所修路中的最长的路段。 解题思路:Kruskal算法模板,但是本题求的不是最小生成树的总长度,而是最小生成树里边的最长边权,改下模板即可~~ #include #include #include #include using namespace std; const int max原创 2015-07-05 10:00:34 · 727 阅读 · 0 评论 -
poj2377解题报告
题目大意:有n个点(谷仓),有m条路,以及他们的造价,找到最大的造价,其中每一个谷仓要能够到到达其他的任意一个谷仓。 解题思路:MST最大生成树,其中需要注意的是要保证连通性,这一点把并查集遍历一遍,看是否有一个以上的代表元即可。 #include #include #include #include using namespace std; const int maxn=100000原创 2015-07-21 15:58:51 · 452 阅读 · 0 评论 -
poj2395解题报告
题目大意:给出n个农场和m条边,农场按1到n编号,现在有一人要从编号为1的农场出发到其他的农场去,求在这途中他最多需要携带的水的重量,注意他每到达一个农场,可以对水进行补给,且要使总共的路径长度最小。 解题思路:kruskal算法最小生成树,记录最长边。 水体,看见容量,我还以为是最大流呢,吓死爹了。 #include #include #include #include using nam原创 2015-07-15 11:33:54 · 1340 阅读 · 1 评论 -
poj2421
题目大意:有n个村庄,要求把n个村庄连接在一起的最短距离 解题思路:kruskal算法即可,注意就是有点村庄已经连载一起了,把邻接矩阵的距离变为0就行了 #include #include #include #include using namespace std; const int maxs=100+10; const int maxn=100*50+100; int G[maxs][ma原创 2015-07-22 20:51:22 · 371 阅读 · 0 评论 -
poj3522解题报告
题目大意:题意:给点一个无向图,求一个生成树使树中最大边与最小边的差的最小。 解题思路;首先按照边权排一次序,然后依次枚举最小的边权,利用kruskal算法生成无根树!!!(利用并查集维护集合关系) #include #include #include #include #include using namespace std; const int maxn=1e4; const原创 2015-06-25 00:17:16 · 651 阅读 · 0 评论