news 2026/6/10 10:15:05

算法题(236):繁忙的都市

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法题(236):繁忙的都市

审题:

本题需要我们在满足三个条件的前提下选路修整,并输出方案中所有道路数和权值最大的那条道路的权值

思路:
方法一:瓶颈生成树-》最小生成树

题目条件分析:给定一个无重边,双向连通图

条件1:所有节点都要处于连通状态

条件2:选定的边尽可能少(生成树)

条件3:要求方案中的权值最大的边的权值尽可能小

根据这三个条件我们判断出题目要求的是瓶颈生成树(权值最大的边的权值最小的生成树),而瓶颈生成树和最小生成树是完全一样的,所以我们使用kruskal算法解决问题,只要注意ret是最大权值,并维护好ret即可

解题:

#include<iostream> #include<algorithm> using namespace std; const int N = 310, M = 8010; int n, m,ret;//ret表示瓶颈生成树的最大权值边 int f[N]; struct edge { int x, y, z; }e[M]; bool cmp(edge& a, edge& b) { return a.z < b.z; } int find(int num) { return f[num] == num ? num : f[num] = find(f[num]); } void kruskal() { sort(e + 1, e + 1 + m,cmp); for (int i = 1; i <= m; i++) { int x = e[i].x, y = e[i].y, z = e[i].z; int fx = find(x), fy = find(y); if (fx != fy) { ret = max(ret, z); f[fx] = fy; } } } int main() { cin >> n >> m; for (int i = 1; i <= m; i++) { cin >> e[i].x >> e[i].y >> e[i].z; } //初始化并查集 for (int i = 1; i <= n; i++) { f[i] = i; } kruskal(); cout << n - 1 << " " << ret << endl; return 0; }

注意1:

题目中说明了是连通图,所以一定有最小生成树,不用维护cnt来进行特殊判断

P2330 [SCOI2005] 繁忙的都市 - 洛谷

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:12:06

Gophish终极指南:5步快速搭建专业钓鱼安全意识培训平台

Gophish终极指南&#xff1a;5步快速搭建专业钓鱼安全意识培训平台 【免费下载链接】gophish Open-Source Phishing Toolkit 项目地址: https://gitcode.com/gh_mirrors/go/gophish 在当今网络安全威胁日益严峻的环境下&#xff0c;企业安全团队急需有效的工具来评估员工…

作者头像 李华
网站建设 2026/6/10 10:11:16

4步深度实战:基于深度学习的老照片修复完整解决方案

4步深度实战&#xff1a;基于深度学习的老照片修复完整解决方案 【免费下载链接】Bringing-Old-Photos-Back-to-Life Bringing Old Photo Back to Life (CVPR 2020 oral) 项目地址: https://gitcode.com/gh_mirrors/br/Bringing-Old-Photos-Back-to-Life Bringing Old P…

作者头像 李华
网站建设 2026/6/10 10:06:30

终极指南:如何用ER-Save-Editor轻松管理你的艾尔登法环存档

终极指南&#xff1a;如何用ER-Save-Editor轻松管理你的艾尔登法环存档 【免费下载链接】ER-Save-Editor Elden Ring Save Editor. Compatible with PC and Playstation saves. 项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor 你是否曾因为更换电脑而…

作者头像 李华
网站建设 2026/6/10 10:04:24

函数的稳定性表现差异 IMMUTABLE | STABLE | VOLATILE

抖一抖&#xff01;原来函数还有稳不稳定的说法函数的稳定性构造测试环境在事务里调用同一条SQL里调用WHERE后调用函数的稳定性 函数稳定性参数的三种状态 IMMUTABLE&#xff1a;函数在plan时执行且只执行一次。在 select 后面调用序列只会生成多个相同的值&#xff1b;在 wh…

作者头像 李华