随笔分类 -  生成树

摘要:链接:https://www.luogu.com.cn/problem/P1991 虽然实现起来是套一个最小生成树模板,但想简单写一下看法。为什么有s个卫星电话就能减去最大的s-1条边呢?首先我们给生成树最大边的两个端点用上卫星电话,同时去掉最大边。接下来,对于目前生成树的最大边,假设有一个端点有卫 阅读全文
posted @ 2021-02-28 22:47 yanying 阅读(81) 评论(0) 推荐(0)
摘要:链接:https://vjudge.net/problem/Aizu-2224 题意:n为魔法桩的数量,m为围栏的数量,第2到n+1行为每个魔法桩的坐标,第n+2到m+1行表示两个桩之间有围栏,每个封闭的区域内都有至少一只猫,需要的圣水数量与围栏长度成正比,问救出所有猫需要破坏的围栏长度。 分析:由 阅读全文
posted @ 2020-08-01 17:06 yanying 阅读(178) 评论(0) 推荐(0)
摘要:链接:http://poj.org/problem?id=3723 显然求最小生成树。但该图不一定是连通图,所以每处理一棵树还要找下一棵。为了方便,不妨让女孩的标号为0到n-1,而男孩的标号为n到m-1,这样便可放在统一数组记录。 代码(prim算法): 1 #include <iostream> 阅读全文
posted @ 2020-08-01 14:25 yanying 阅读(111) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1875 分析:kruskal算法。先确保每个岛都有至少一条有效边与其他岛相连,然后直接kruskal即可。(但我出现了很意外的错误,在ide上如果用C++11之前会出现很神奇的错误,之后就没有,在vjudge 阅读全文
posted @ 2020-04-20 15:48 yanying 阅读(105) 评论(0) 推荐(0)
摘要:题目:http://poj.org/problem?id=1251 分析:kruskal算法。因为节点是字符,所以开map做并查集,效果同数组。 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include < 阅读全文
posted @ 2020-04-13 15:17 yanying 阅读(125) 评论(0) 推荐(0)