YbtOJ 最小生成树课堂过关 例4 构造完全图【kruskal】

本文通过Kruskal算法探讨如何构造边权和最小的完全图,核心思路是将输入的最优边作为最小生成树的边,并将其他边的权值设为最优边权加一,确保连通性和最小代价。
摘要由CSDN通过智能技术生成

在这里插入图片描述


思路

这道题我们可以从kruskal的本质着手。
我们kruskal的过程是不断合并连通块,当然每个连通块都是已经合并好的最优连通块。
这个时候我们可以把输入的最优连边当做最小生成树的边,
然后把其他边全部连成最优边边权加一,这样就可以保证连出来的完全图满足唯一最小生成树且边权和最小。

代码

#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
long long n,f[100010],v[100010],ans;
struct node
{
   
	long long s,t,d;
}a[100010];
bool 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值