图论 —— 生成树 —— 最小瓶颈生成树
【概述】
所谓瓶颈生成树,即对于图 G 中的生成树树上最大的边权值在所有生成树中最小。
对于无向图来说,无向图的最小生成树一定是最小瓶颈生成树,但最小瓶颈生成树不一定是最小生成树。
因此,使用 Kruskal 算法即可求出无向图的最小瓶颈生成树。
【Kruskal】
struct Edge{
int u,v,w;
bool operator <(Edge K)const{
return w<K.w;
}
}edge[N];
int n,m;
int father[N],res;
int mst=0;
int Find(int x){
if(father[x]==x)
return x;
return father[x]=Find(father[x]);
}
void kruskal(){
for(int i=1;i<=n;++i)
father[i]=i;
sort(edge+1,edge+m+1);
for(int i=1;i<=m;++i){
int f1=Find(edge[i].u);
int f2=Find(edge[i].v);
if(f1==f2)
continue;
father[f2]=f1;
mst++;
if(mst==n-1){
res=edge[i].w;
return;
}
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=m;++i)
scanf("%d%d%d",&edge[i].u,&edge[i].v,&edge[i].w);
kruskal();
printf("%d\n",res);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】