尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Kimi    LeetCode 3600. 升级后最大生成树稳定性 Java实现
LeetCode 3600. 升级后最大生成树稳定性 — Java 实现题目分析核心问题找出一个生成树使其稳定性即树中最小边强度最大化。每条可选边must0最多可升级一次强度翻倍最多使用 k 次升级。关键观察稳定性具有单调性——如果稳定性 x 可行则所有 y x 也可行。因此可以用二分查找 并查集解决。解题思路步骤 说明预处理 将所有必选边must1加入并查集检查是否成环同时记录必选边中最小强度 mn连通性检查 将所有边加入并查集若连通分量 1返回 -1二分查找 在 [1, mn] 范围内二分答案 limcheck(lim) 先加入所有强度 ≥ lim 的边再用升级次数连接强度 ≥ lim/2 的边升级后翻倍check(lim) 的逻辑1. 将所有 s lim 的边直接加入并查集这些边不升级就能满足要求2. 剩余连通分量需要用升级来连接3. 对于每条可选边若 s * 2 lim升级后能满足则用一次升级加入4. 最多用 k 次升级最终检查是否只剩 1 个连通分量Java 代码javaclass UnionFind {int[] p, size;int cnt;UnionFind(int n) {p new int[n];size new int[n];cnt n;for (int i 0; i n; i) {p[i] i;size[i] 1;}}int find(int x) {if (p[x] ! x) {p[x] find(p[x]);}return p[x];}boolean union(int a, int b) {int pa find(a), pb find(b);if (pa pb) return false;if (size[pa] size[pb]) {p[pb] pa;size[pa] size[pb];} else {p[pa] pb;size[pb] size[pa];}cnt--;return true;}}class Solution {int n;int[][] edges;int k;private boolean check(int lim) {UnionFind uf new UnionFind(n);// Step 1: 直接加入强度 lim 的边不升级for (int[] e : edges) {int u e[0], v e[1], s e[2];if (s lim) {uf.union(u, v);}}// Step 2: 用升级次数连接剩余部分int rem k;for (int[] e : edges) {int u e[0], v e[1], s e[2];// 升级后强度翻倍若翻倍后 lim 则可以用来连接if (s * 2 lim rem 0) {if (uf.union(u, v)) {rem--;}}}return uf.cnt 1;}public int maxStability(int n, int[][] edges, int k) {this.n n;this.edges edges;this.k k;UnionFind uf new UnionFind(n);int mn (int)1e6;// 处理必选边for (int[] e : edges) {int u e[0], v e[1], s e[2], must e[3];if (must 1) {mn Math.min(mn, s);// 必选边成环无法构成生成树if (!uf.union(u, v)) {return -1;}}}// 检查整个图是否连通for (int[] e : edges) {uf.union(e[0], e[1]);}if (uf.cnt 1) {return -1;}// 二分查找最大稳定性int l 1, r mn;while (l r) {int mid (l r 1) 1;if (check(mid)) {l mid;} else {r mid - 1;}}return l;}}复杂度分析指标 复杂度时间 O((m \times \alpha(n) n) \times \log M)空间 O(n)其中 m 为边数n 为节点数M 为最大边强度\alpha 为阿克曼函数的反函数并查集近似常数。关键点1. 二分上界 mn必选边中的最小强度是答案的上界因为必选边不能升级生成树稳定性不可能超过最弱的必选边。2. 升级条件 s * 2 lim升级后强度翻倍若翻倍后仍小于 lim则这条边即使升级也无法满足稳定性要求。3. 并查集路径压缩 按秩合并保证每次操作接近 O(1)。下载文件: [leetcode_3600.java](sandbox:///mnt/agents/output/leetcode_3600.java)
RELATED

相关推荐

AI协作效率陷阱:多模型协同的挑战与优化

AI协作效率陷阱:多模型协同的挑战与优化

1. 项目概述:AI协作中的效率陷阱斯坦福大学最新研究发现,当多个GPT-5.4模型协同工作时,其综合判断准确率会出现戏剧性下降——从单模型的100%暴跌至23%。这一现象揭示了当前AI科研团队在构建多智能体系统时普遍存在的认知盲区。作为长期跟踪大…

📅 2026/11/7 6:50:15
AI提效到底有多少?3个真实项目实测

AI提效到底有多少?3个真实项目实测

1. 引言 2025年,AI编程助手已从“玩具”演变为“生产力工具”。但一个核心问题始终悬而未决:AI到底能提效多少? 是营销号口中的“10倍效率”,还是实际落地时的“聊胜于无”?为了得到真实答案,我选取了3个不…

📅 2026/11/7 6:54:02
AI Agent邮箱系统:自动化邮件处理与智能响应实践

AI Agent邮箱系统:自动化邮件处理与智能响应实践

1. AI Agent邮箱系统概述在自动化办公和智能客服领域,AI Agent邮箱系统正在改变传统邮件处理方式。与普通邮箱只能被动接收邮件不同,这类系统赋予了邮件处理智能化的能力。我最近在实际项目中部署了一套AI Agent邮箱解决方案,实测下来发现它能…

📅 2026/9/11 14:31:06
MORE NEWS

更多资讯

📰

安监局电工证考试流程全流程办理指南多久拿证

安监局电工证考试流程全流程办理指南多久拿证 证书过期了不知道怎么复审延期?别急,今天就来带你走一遍【安监局电工证考试流程】,从报名到拿证一网打尽,让你知道 多久拿证…

📰

办理办电工证需多少钱需要什么材料

电工证多少钱能办下来?考前押题真的靠谱吗? 怕考不过白交培训费,这事儿我太懂了。去年我认识的一个河南信阳的房建电工,花了几千块报了个培训班,结果考试没过,钱打了水漂,连个复审的机会都没捞着。所以, 办电工证需多少钱…

📰

安监局电工证考试流程在哪考 外省证书能否转过来

安监局电工证考试流程在哪考 外省证书能否转过来 之前考的证在外省能不能转过来?这是很多从业人员最关心的问题,尤其是像你这样在驻马店从事房建工程的朋友,可能手里拿着外地的电工证,担心在本地用不了。别急,这篇文章就围绕【安监局电工证考试流程】,…

📰

诸暨考电工证上哪通过率揭秘:转岗电工怎么高效取证

诸暨考电工证上哪通过率揭秘:转岗电工怎么高效取证 你是不是正愁没电工证,找不到工作?别急,这篇就告诉你【诸暨考电工证上哪】,还有通过率揭秘,帮你少走弯路。…

📰

广西电工证理论考什么内部消息来了!找工作必须知道的细节

广西电工证理论考什么内部消息来了!找工作必须知道的细节 你有没有过这样的经历?手里拿着一堆简历,但就是找不到合适的岗位,原因很简单—— 没有特种作业证…

📰

电工作业危险有害因素怎么避坑?全国通用证书这样考

电工作业危险有害因素怎么避坑?全国通用证书这样考 你是不是也跟朋友聊起特种作业证时,心里直打鼓?不知道去哪报名怕被中介坑,更怕拿了个假证耽误前程。电工作业危险有害因素多,证书要是没考对,连基本的岗位都进不去。别急,下面给你说说全国通用证书怎…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬