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

Kimi LeetCode 3620. 恢复网络路径 Python3实现

LeetCode 3620. 恢复网络路径 Python3 实现

```python
import heapq
from typing import List

class Solution:
def findMaxPathScore(self, edges: List[List[int]], online: List[bool], k: int) -> int:
n = len(online)
g = [[] for _ in range(n)]

INF = float('inf')
l, r = INF, 0

# 建图:过滤掉与离线节点相连的边
for u, v, w in edges:
if not online[u] or not online[v]:
continue
g[u].append((v, w))
l = min(l, w)
r = max(r, w)

# 检查:只使用 cost >= mid 的边,能否在总代价 <= k 内从 0 到达 n-1
def check(mid: int) -> bool:
dist = [INF] * n
dist[0] = 0
pq = [(0, 0)] # (当前总代价, 当前节点)

while pq:
d, u = heapq.heappop(pq)

if d > k:
return False # 剪枝:已超过 k
if u == n - 1:
return True # 到达终点
if dist[u] < d:
continue # 已有更优路径

for v, w in g[u]:
if w < mid:
continue # 边权不足 mid,跳过

nd = d + w
if nd < dist[v]:
dist[v] = nd
heapq.heappush(pq, (nd, v))

return False

# 二分查找最大可行的最小边权
while l < r:
mid = (l + r + 1) >> 1
if check(mid):
l = mid
else:
r = mid - 1

return l if check(l) else -1
```

---

核心思路

步骤 说明
预处理 跳过所有与离线节点相连的边,直接不参与建图
二分答案 对「路径最小边权」`mid` 进行二分。`mid` 越大,可用边越少,单调递减
Dijkstra 验证 在只保留 `cost >= mid` 的边的子图上,求 `0 → n-1` 的最短路。若最短路 `≤ k`,则 `mid` 可行
剪枝优化 堆中弹出距离 `> k` 时直接返回 `False`,避免无效搜索

时间复杂度: `O((n + m) · log n · log W)`

空间复杂度: `O(n + m)`

其中 `W` 为最大边权,`n ≤ 5×10⁴`,`m ≤ 10⁵`。

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

相关文章:

  • 2026年中西安专业废铝回收厂商盘点:矗立鼎盛物资回收解析 - 品牌鉴赏官2026
  • 2026筛选浙江化学镍工厂合作方 可综合多维度考量适配性 - 奔跑123
  • SpringBoot 整合 JWT——Token 认证与自动刷新
  • 2026宁波本地工业气体服务商选购维度评测汇总 - 奔跑123
  • FTP 服务器挂载成本地磁盘盘符
  • 2026惠州GEO搜索优化正规服务机构实力排行汇总 - 奔跑123
  • Linux Shell编程实战:需求驱动与自动化测试
  • AM62L硬件防火墙配置实战:从寄存器解析到嵌入式系统安全设计
  • JS三种引入方式详解|行内JS、内部JS、外部JS 优缺点全面对比
  • 亲身到店探访合肥亨得利官方名表服务中心|全新维修地址和售后服务电话(2026年7月更新) - 亨得利官方
  • puzzle(1022)数图、彩色数图、字母沙拉
  • AI 电动窗帘电机智能功率 MOSFET 覆盖电机驱动、电源管理、控制逻辑的完整选型方案
  • 2026武汉网站建设公司哪家好 行业口碑排行盘点 - 奔跑123
  • 天梭中国官方售后服务中心|服务热线及全部维修详细地址权威信息声明(2026年7月更新) - 天梭服务中心
  • Python 数据清洗实战——缺失值、异常值、重复值处理
  • Rust AI 工具发布为单二进制:静态链接把一切装进一个文件的技术要点
  • 2026西安全日制综合职业高中最新排行榜单梳理 - 奔跑123
  • 2026行业交流场景下浙江塑料切粒机厂家哪家好解读 - 奔跑123
  • 2024年SAP实用网站资源大全与开发指南
  • 嵌入式GPMC配置实战:地址解码、WAIT引脚与总线时序优化
  • AI 辅助前端性能瓶颈定位:从 Lighthouse 报告到代码级根因分析
  • 亨得利钟表服务中心维修地址与24小时热线实地考察报告+多信源验证(2026年七月最新) - 亨得利官方博客
  • 鸿蒙 ArkTS 实战:Knowledge Card Generator 从智能助手到保存闭环完整解析
  • AI周报(2026年7月第3周):WAIC产业发布、Kimi K3开源、AI工具供应链警钟
  • 2026年7月最新长沙建材市场热门石膏板十大品牌榜单完整解读 - 奔跑123
  • 数据结构——KMP 字符串匹配算法:next 数组计算与优化
  • 2026武汉网站建设公司综合实力排行情况完整梳理 - 奔跑123
  • 2026年7月最新宝珀北京长安商场维修保养服务电话 - 宝珀官方售后服务中心
  • 2026年7月佛山靠谱AI搜索优化公司排行完整名单盘点 - 奔跑123
  • 需求驱动的Shell脚本开发实践与优化