当前位置: 首页 > news >正文

最小生成树

一、Kruskal 算法

核心:克鲁斯卡尔算法是一种用于求解加权连通图的最小生成树的算法。其基本思想是按照边的权值从小到大的顺序选择边,并保证所选的边不构成回路,直到选出 n-1 条边为止。

  • 边权从小到大:排序、贪心
  • 不构成回路/环:并查集

例题:

修复公路_牛客题霸_牛客网

这道题要求我们找到一个最小的时间,使得所有城市构成一个连通图。问题的核心在于,如果我们能在时间  达成目标,那么在任何大于  的时间点,目标也一定是达成的。这暗示了我们可以通过某种方式寻找这个关键的“瓶颈”时间点。

#include<bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int, int> pii;
typedef pair<long, long> pll;
const int mod = 1e7;
const int N = 1e3 + 5;
const int M = 1e5 + 5;int fa[N];int find(int x){return x == fa[x] ? x : fa[x] = find(fa[x]);
}struct Rode
{int u, v, t;
}a[M];void solve(){int n, m;cin >> n >> m;for(int i = 1; i <= m; ++i){cin >> a[i].u >> a[i].v >> a[i].t;}for(int i = 1; i <= n; ++i) fa[i] = i;//初始化每个节点的父亲都是其自身sort(a + 1, a + 1 + m, [&](Rode r1, Rode s2)->bool{return r1.t < s2.t;});//按照边权排序int ans = -1;int cnt = 0;for(int i = 1; i <= m; ++i){int ra = find(a[i].u);int rb = find(a[i].v);if(ra != rb){//若u和v的父亲不一样,则说明不在一个集合里,那么进行合并,若相同,则说明已经在一个集合里了,再加入会构成回环fa[ra] = rb;ans = a[i].t;cnt++;}}//判断是否形成最小生成树,若不等于n-1,说明形成森林(多棵树)if(cnt == n - 1) cout << ans;else cout << -1;
}signed main(){ios::sync_with_stdio(false);cin.tie(0);int T = 1;//cin >> T;while(T--){solve();}return 0;
}

 

http://www.jsqmd.com/news/331006/

相关文章:

  • AGI之Multi-Agent之Moltbook:《The Anatomy of the Moltbook Social Graph》翻译与解读
  • PT153S国产USB转千兆网卡芯片,优势替代RTL8153B和AX88179方案
  • 基于SpringBoot的音乐分享与交流平台设计与实现
  • 基于SpringBoot的闲置物品循环交易保障系统的设计与实现
  • 数据库基础知识
  • 大数据领域数据产品的互联网行业应用趋势洞察
  • Kubernetes 基于sealos创建k8s集群
  • 2026/2/1
  • 2026年 表面修复/纳米修复/现场修复厂家推荐榜单:创新工艺与高效解决方案深度解析
  • 2026年 涂层厂家推荐排行榜:纳米防腐/耐酸碱/防盐雾/耐老化等NTC专业防护涂层源头企业深度解析
  • 惊艳!提示工程架构师给出提示注入攻击防范新思路
  • 职工医保统筹报销失效与生效时间
  • 《动态捕食猎物关系手册:生态可信性构建与玩家长期行为响应策略》
  • linux genpool 学习
  • 【第三十三周】PageIndex项目的调试
  • 《羁绊型反派塑造:情感闭环与角色立体度打造指南》
  • AI原生应用开发:如何选择合适的相似度匹配算法?
  • SpringBoot4.0+JDK25+GraalVM:云原生新纪元
  • linux hwspinlock 学习
  • 热身赛 全华班武汉城市 2-0 客胜罗马尼亚六级联赛球队阿斯特拉勒杜卡内尼
  • JavaScript DOM操作实战:从入门到精通
  • 2026年 碳纤维管材厂家推荐榜单:高强度轻量化碳纤维管/碳纤维管材,专业定制与创新应用深度解析
  • 2026年碳纤维板厂家推荐排行榜:高强度轻量化碳纤维板材,航空航天/汽车工业专用定制源头工厂精选
  • ArcGIS Pro开发学习
  • 洛谷 P3383:线性筛素数 ← 埃氏筛
  • 电磁波的反射与透射
  • 2026年 数控小钢炮厂家推荐排行榜:高刚性/高光/4万转/20-30KW大主轴/全自动换刀/龙门结构/粗精加工一体/西门子数控系统,性能强悍之选!
  • 【题解】SS221101C.iiidx
  • Flink Agents 0.1.0 发布公告 - 教程
  • 2026年碳纤维制品厂家推荐榜单:碳纤维羽毛球拍/网球拍/台球杆/自行车车架/无人机/运动器材/医疗器械等高端轻量化产品源头实力解析