摘要: ###题意 平面上有n(\(n\leq1000\))个点,你的任务是让所有n个点联通。为此,你可以新建一些边,费用等于两个端点的欧几里得距离平方。另外还有q(\(q\leq8\))个套餐可以购买,如果你购买了第i个套餐,该套餐中的所有结点将变得相互连接。第i个套餐的花费为$C_i$。 ###算法 最 阅读全文
posted @ 2020-10-09 11:56 When_C 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 这里只写Kruskal版本(太蒟了qwq) ###大致思路 首先求出最小生成树,我们枚举每条不在最小生成树上的边,并把这条边放到最小生成树上面,然后就一定会形成环,那么我们在这条环路中取出一条最长的路(除了新加入的那一条边)。最终我们得到的权值就是次小生成树的权值。 ###代码实现 #include 阅读全文
posted @ 2020-10-09 10:57 When_C 阅读(95) 评论(0) 推荐(0) 编辑