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

【代码随想录算法训练营——Day57(Day56周日休息)】图论——53.寻宝

卡码网题目链接
https://kamacoder.com/problempage.php?pid=1053

题解
53.寻宝
本题是模板题, 代码是仿照题解里的c++代码写出来的. prim和kruskal都是.

代码

#53.寻宝
#prim法
if __name__ == "__main__":v, e = map(int, input().split())graph = [[10001] * (v + 1) for _ in range(v + 1)]for _ in range(e):x, y, k = map(int, input().split())graph[x][y] = kgraph[y][x] = kminDist = [10001] * (v + 1)isInTree = [False] * (v + 1)for i in range(1, v): # n - 1条边连接n个结点cur = -1minVal = float('inf')for j in range(1, v + 1):if isInTree[j] == False and minDist[j] < minVal:cur = jminVal = minDist[j]isInTree[cur] = Truefor j in range(1, v + 1):if isInTree[j] == False and graph[cur][j] < minDist[j]:minDist[j] = graph[cur][j]result = 0for i in range(2, v + 1):result += minDist[i]print(result)#kruskal法
class Edge:def __init__(self, l, r, val):self.l = lself.r = rself.val = valn = 10001
father = [-1] * ndef init():for i in range(n):father[i] = i
def find(u):if father[u] == u:return uelse:father[u] = find(father[u])return father[u]
def isSame(u, v):u = find(u)v = find(v)return u == v
def join(u, v):u = find(u)v = find(v)if u == v:returnfather[v] = uif __name__ == "__main__":v, e = map(int, input().split())result = 0edges = []for _ in range(e):v1, v2, val = map(int, input().split())edges.append(Edge(v1, v2, val))edges.sort(key = lambda x: x.val)init()for edge in edges:x = find(edge.l)y = find(edge.r)if x != y:result += edge.valjoin(x, y)print(result)
http://www.dtcms.com/a/564651.html

相关文章:

  • PPT+配音生成带旁白的PPT演示视频
  • abp vnext cli无法正常使用,卡在 Checking extensions..,cli修改abp版本及.net版本
  • 萤石摄像头使用NAS作为存储
  • 2025江西省职业院校技能大赛(中职组)移动应用与开发竞赛样题
  • 建站公司哪家好在哪里推广比较好
  • 在 iOS 18 的照片应用,如何批量隐藏截屏?
  • OK3568 Android11 实现 App 独占隔离 CPU 核心完整指
  • 湖南网站建设公司 都来磐石网络泰安营销型网站建设公司
  • Oracle 如何计算 AWR 报告中的 Sessions 数量
  • JavaScript 流程控制语句
  • 走向专精:我的NLP特化算子开发之旅
  • 如何写prompt?prompt收集
  • 打工人日报#20251103
  • 技术文章大纲:设备如何“开口说话”?
  • CH585 高速 USB模拟 CDC串口应用示例
  • 2024/07 JLPT听力原文 问题四
  • 【AAOS】【源码分析】Car Location服务(二)- NMEA 数据
  • 如何建立国外网站搜索引擎优化岗位
  • 怎么建立网站网址在线做网站需要什么
  • https 可以访问 8866端口吗
  • python excel转为jsonl 格式 和 jsonl格式转为excel
  • docker中使用SSL证书实现前后端Https
  • IDE/编码代理架构与 Cursor 相关研究(汇总)
  • Multi-Stride Predictive RNG:革命性的可控随机数生成算法
  • Let’s Encrypt 证书申请与多服务器 HTTPS 配置指南
  • 艺术名画网站怎么建设多姿wordpress
  • R 绘图 - 散点图
  • 使用yarn@4.6.0装包,项目是react+vite搭建的,项目无法启动,报错:
  • 末备案网站如何做cdnwordpress填写
  • 有做网站维护的做垂直行业网站利润分析