尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Kimi    LeetCode 3600. 升级后最大生成树稳定性 Python3实现
以下是 LeetCode 3600. 升级后最大生成树稳定性Maximize Spanning Tree Stability with Upgrades的 Python3 实现基于二分查找 并查集的解法。pythonfrom typing import Listclass UnionFind:def __init__(self, n):self.p list(range(n))self.size [1] * nself.cnt ndef find(self, x):if self.p[x] ! x:self.p[x] self.find(self.p[x])return self.p[x]def union(self, a, b):pa, pb self.find(a), self.find(b)if pa pb:return Falseif self.size[pa] self.size[pb]:self.p[pb] paself.size[pa] self.size[pb]else:self.p[pa] pbself.size[pb] self.size[pa]self.cnt - 1return Trueclass Solution:def maxStability(self, n: int, edges: List[List[int]], k: int) - int:def check(lim: int) - bool:uf UnionFind(n)# 第一阶段先加入所有不升级就 lim 的边for u, v, s, _ in edges:if s lim:uf.union(u, v)# 第二阶段用升级次数加入升级后 lim 的边rem kfor u, v, s, _ in edges:if s * 2 lim and rem 0:if uf.union(u, v):rem - 1return uf.cnt 1# 预处理检查必选边uf UnionFind(n)mn 10**6for u, v, s, must in edges:if must:mn min(mn, s)if not uf.union(u, v):return -1 # 必选边形成环# 检查图是否连通for u, v, _, _ in edges:uf.union(u, v)if uf.cnt 1:return -1 # 无法连通所有节点# 二分查找最大稳定性范围 [1, mn]# mn 是必选边中的最小强度答案不可能超过它l, r 1, mnwhile l r:mid (l r 1) 1if check(mid):l midelse:r mid - 1return l核心思路1. 二分答案稳定性具有单调性——如果稳定性 x 可行则所有 y x 也可行。因此对答案进行二分查找。2. check(lim)判断是否能构造出稳定性至少为 lim 的生成树- 不升级即可达先将所有原始强度 s lim 的边加入并查集。- 升级后可达再用最多 k 次升级机会将满足 s * 2 lim 的边加入每条边最多升一次升级后强度翻倍。3. 边界检查- 必选边must 1若形成环直接返回 -1。- 若所有边包括可选边都无法使图连通返回 -1。- 答案的上界是必选边中的最小强度 mn因为必选边不能升级其最小值决定了生成树稳定性的上限。时间复杂度O((m \cdot \alpha(n) n) \cdot \log M)空间复杂度O(n)。
RELATED

相关推荐

Codex的goal功能:提升AI编程效率的5段式技巧

Codex的goal功能:提升AI编程效率的5段式技巧

1. Codex的goal功能深度解析Codex作为AI编程助手领域的重要工具,其goal功能长期以来被大多数用户低估。实际上,这个看似简单的指令背后隐藏着强大的任务规划能力,特别适合处理边界清晰、结构明确的开发任务。与常规的代码补全不同&#xff0c…

📅 2026/9/20 3:49:20
Base LLM:从NLP基础到大模型全栈开发实战指南

Base LLM:从NLP基础到大模型全栈开发实战指南

Base LLM 是一个由 Datawhale 团队开源的大语言模型全栈学习教程项目,旨在帮助开发者系统掌握从传统自然语言处理(NLP)到现代大语言模型(LLM)的完整技术栈。在当前 LLM 技术快速发展的背景下,很多开发者直接…

📅 2026/11/7 6:47:45
Kimi    LeetCode 3600. 升级后最大生成树稳定性 Java实现

Kimi LeetCode 3600. 升级后最大生成树稳定性 Java实现

LeetCode 3600. 升级后最大生成树稳定性 — Java 实现题目分析核心问题:找出一个生成树,使其稳定性(即树中最小边强度)最大化。每条可选边(must0)最多可升级一次(强度翻倍)&#xff…

📅 2026/11/7 6:53:43
MORE NEWS

更多资讯

📰

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

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

📰

汉川电工证多少钱?全国通用证书怎么选?上岗找工作必备干货

汉川电工证多少钱?全国通用证书怎么选?上岗找工作必备干货 你缺个电工证,连面试资格都没?特种作业证是很多行业入职的硬门槛,尤其是电工类岗位, 全国通用…

📰

外省电工证能转过来吗?真实经历告诉你查电工证2017的全流程

外省电工证能转过来吗?真实经历告诉你查电工证2017的全流程 之前考的证在外省能不能转过来?这是很多在外地工作、打算返乡发展的电工从业者最关心的问题。特别是那些2017年考取的电工证,随着时间推移,证书的有效性、能否跨省使用,甚至是否还能复…

📰

濮阳电工证办理地点通过率揭秘:工地太忙根本没时间复习考试

濮阳电工证办理地点通过率揭秘:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是很多一线电工的共同烦恼。尤其在濮阳这样的城市,工地上项目多、工期紧,考证成了很多人的“心病”。很多人甚至不知道【濮阳电工证办理地点】具体在哪,更别说了…

📰

沈丘哪有办电工证的官方回应来了,学历不高也能考!

沈丘哪有办电工证的官方回应来了,学历不高也能考! 你是不是也担心自己学历不高,根本报不了电工证?别急,官方回应来了!河南省应急管理厅明确表示,报考特种作业操作证并不强制要求高学历,只要符合条件, 任何人…

📰

电工证需要参加培训吗郑州报考避坑指南

电工证需要参加培训吗郑州报考避坑指南 怕考不过白交培训费?这事儿真不少见,尤其是像郑州这种报考人数多、培训机构鱼龙混杂的地方,一不小心就踩坑。别急,这篇文章就从你最关心的“ 电工证需要参加培训吗…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

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

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

📞 💬