最小生成树
_Yuh_
...
展开
-
B - Super Mancunian
题目链接 题意:有n个等级,某些等级是相连的,但需要费用w才可以解锁访问,解锁之后再次访问该等级不需要任何花费,从等级1开始,访问n个等级花费的最小值,另外一个条件是可以让某两个等级之间的花费变为0。 思路:先用最小生成树求一下最小边权之和与最小生成树中的最大边权值maxx,再用类似最小生成树的方法求一下,在不成环的前提下,如果边权值>=maxx的边并且加上这条边能构成最小生成树,那么tot++(tot最小生成树的个数);否则就让u的父节点归结于v的父节点。继续遍历。 注意要是用long long,代原创 2021-02-18 10:24:25 · 123 阅读 · 0 评论 -
Treehouses
题目链接 用到了最小生成树,先将p个已经用缆线连接的两点间距离设为0,再计算每个点之间的距离,如果是前e个输入的,则其两点间的距离为0,否则计算其距离。再将两点间的距离升序排序,然后就是用最小生成树的思路去做。 借鉴VJ账号为Get_rid_of_WA大佬的解法 #include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> #include <algorithm>原创 2020-12-27 15:13:46 · 109 阅读 · 0 评论