news 2026/4/15 16:29:46

更弱智的算法学习 day60

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
更弱智的算法学习 day60

Bellman_ford 队列优化算法

import collections def main(): n, m = map(int, input().strip().split()) edges = [[] for _ in range(n + 1)] for _ in range(m): src, dest, weight = map(int, input().strip().split()) edges[src].append([dest, weight]) minDist = [float("inf")] * (n + 1) minDist[1] = 0 que = collections.deque([1]) visited = [False] * (n + 1) visited[1] = True while que: cur = que.popleft() visited[cur] = False for dest, weight in edges[cur]: if minDist[cur] != float("inf") and minDist[cur] + weight < minDist[dest]: minDist[dest] = minDist[cur] + weight if visited[dest] == False: que.append(dest) visited[dest] = True if minDist[-1] == float("inf"): return "unconnected" return minDist[-1] if __name__ == "__main__": print(main())

bellman_ford之判断负权回路

import sys def main(): input = sys.stdin.read data = input().split() index = 0 n = int(data[index]) index += 1 m = int(data[index]) index += 1 grid = [] for i in range(m): p1 = int(data[index]) index += 1 p2 = int(data[index]) index += 1 val = int(data[index]) index += 1 # p1 指向 p2,权值为 val grid.append([p1, p2, val]) start = 1 # 起点 end = n # 终点 minDist = [float('inf')] * (n + 1) minDist[start] = 0 flag = False for i in range(1, n + 1): # 这里我们松弛n次,最后一次判断负权回路 for side in grid: from_node = side[0] to = side[1] price = side[2] if i < n: if minDist[from_node] != float('inf') and minDist[to] > minDist[from_node] + price: minDist[to] = minDist[from_node] + price else: # 多加一次松弛判断负权回路 if minDist[from_node] != float('inf') and minDist[to] > minDist[from_node] + price: flag = True if flag: print("circle") elif minDist[end] == float('inf'): print("unconnected") else: print(minDist[end]) if __name__ == "__main__": main()

bellman_ford之单源有限最短路

def main(): # 輸入 n, m = map(int, input().split()) edges = list() for _ in range(m): edges.append(list(map(int, input().split() ))) start, end, k = map(int, input().split()) min_dist = [float('inf') for _ in range(n + 1)] min_dist[start] = 0 # 只能經過k個城市,所以從起始點到中間有(k + 1)個邊連接 # 需要鬆弛(k + 1)次 for _ in range(k + 1): update = False min_dist_copy = min_dist.copy() for src, desc, w in edges: if (min_dist_copy[src] != float('inf') and min_dist_copy[src] + w < min_dist[desc]): min_dist[desc] = min_dist_copy[src] + w update = True if not update: break # 輸出 if min_dist[end] == float('inf'): print('unreachable') else: print(min_dist[end]) if __name__ == "__main__": main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 16:33:18

Linux docker安装达梦数据库

安装数据库 达梦8镜像下载 官方镜像地址 https://download.dameng.com/eco/dm8/dm8_20241022_x86_rh6_64_single.tar CSDN地址&#xff08;需要解压后再使用&#xff09; https://download.csdn.net/download/qq_35794202/92607559?spm1001.2014.3001.5503 下载后放到li…

作者头像 李华
网站建设 2026/3/31 12:41:27

Python+django 博物馆文物科普知识普及系统微信小程序-

文章目录系统概述核心功能技术实现特色亮点应用场景系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统概述 PythonDjango 博物馆文物科普知识普及系统微信小程序是一个结合后端框架与移动端应用…

作者头像 李华
网站建设 2026/4/13 2:51:50

一库平替,融合致胜:国产数据库的“统型”范式革命

在数字化转型步入深水区的今天&#xff0c;我们正见证一场发生在数据基础设施底层的静默革命。当企业面对Oracle、MySQL、SQL Server、GIS数据库、时序数据库、文档数据库乃至向量数据库组成的复杂“数据库动物园”时&#xff0c;技术栈的割裂、成本的飙升与数据孤岛的固化已成…

作者头像 李华
网站建设 2026/4/14 7:28:12

GitExtension下载、安装

一、GitExtension下载 官网下载 根据自己环境选择&#xff0c;我这里选择的x64 二、安装 三、配置 或者

作者头像 李华
网站建设 2026/4/13 19:22:33

【阿里云】—— 云服务器 ECS搭建与使用

阿里云ECS主机从零配置指南&#xff1a;新手友好&#xff0c;避坑必看&#xff08;含完整实操&#xff09; 对于新手开发者、个人站长或初级运维来说&#xff0c;阿里云ECS主机的配置绝对是入门路上的“第一道坎”——买了ECS不知道怎么登录、初始化配置混乱、安全组没开导致无…

作者头像 李华
网站建设 2026/4/14 17:45:15

26.4 范围管理:案例分析理论题必背要点

一、范围管理过程中存在的问题&#xff08;一&#xff09;规划范围管理问题现象专业表述正确做法&#x1f4a1; 解析与示例未编制范围管理计划和需求管理计划缺少正式文件指导需求与范围管理工作应制定详细的范围管理计划与需求管理计划✅ 计划是“导航图”&#xff0c;无计划即…

作者头像 李华