更弱智的算法学习 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()

相关新闻

Anaconda下载及安装保姆级教程(详细图文)

Anaconda下载及安装保姆级教程(详细图文)

一、先导知识 Anaconda是一款开源的Python和R语言的发行版本,其主要目的是为数据科学、机器学习、大数据处理和科学计算提供一个集成的开发环境。Anaconda集成了大量常用的数据科学库和工具,并附带了强大的环境管理和包管理功能,使得Python环…

2026/7/3 15:05:03 阅读更多 →
SQL调优实战密码:索引策略与Explain工具深度破局之道

SQL调优实战密码:索引策略与Explain工具深度破局之道

SQL调优实战密码:索引策略与Explain工具深度破局之道 某电商平台因一条未优化的SQL查询导致核心业务延迟3秒,每小时损失数万元交易额——这不是危言耸听,而是真实发生的数据库性能灾难。本文将深度拆解SQL优化中的索引策略、查询优化案例及Ex…

2026/7/3 15:05:06 阅读更多 →
房屋中介服务平台的设计与实现(11841)

房屋中介服务平台的设计与实现(11841)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

2026/7/3 15:05:08 阅读更多 →

最新新闻

于 Simulink 的双向 DC-DC 变换器在恒压(CV)与恒流(CC)模式下的切换仿真

于 Simulink 的双向 DC-DC 变换器在恒压(CV)与恒流(CC)模式下的切换仿真

目录 一、 核心原理:双闭环控制与模式无缝切换 1. 双闭环控制架构 2. CC 与 CV 模式的切换逻辑 3. 防止“反复横跳”的滞回比较器 二、 Simulink 建模步骤(手把手) Step 1:搭建双向 Buck-Boost 主功率级 Step 2:构建双闭环控制器与 PI 参数整定 Step 3:实现 CC-C…

2026/7/6 14:51:44 阅读更多 →
YOLOv10模型改进-特定领域应用-第96篇:YOLOv10改进策略【特定领域应用】| YOLOv10在无人机巡检中的应用

YOLOv10模型改进-特定领域应用-第96篇:YOLOv10改进策略【特定领域应用】| YOLOv10在无人机巡检中的应用

一、本文介绍 本文记录的是YOLOv10在无人机巡检领域的应用。无人机巡检需要检测电力设施、道路状况、建筑物损伤等目标,YOLOv10凭借其高效的推理速度和准确的检测能力,成为无人机巡检领域的首选目标检测算法。 二、无人机巡检场景分析 2.1 检测目标 无人…

2026/7/6 14:45:39 阅读更多 →
路由模式:智能分发 + 垂直 Agent

路由模式:智能分发 + 垂直 Agent

路由模式:智能分发 垂直 Agent路由模式的核心是智能分发——根据任务类型、内容或上下文将请求路由到不同的垂直 Agent。读完你能设计出适配多种场景的路由层,理解分类器精度与兜底策略的关键 trade-off。一、概念速查 1.1 什么是路由模式 路由模式&…

2026/7/6 14:45:39 阅读更多 →
用 grill-me 推导盘前简报 MVP:12 题钉边界 + schema 收束

用 grill-me 推导盘前简报 MVP:12 题钉边界 + schema 收束

1. grill-me skill是什么、解决什么问题 grill-me skill 的核心就一条:一次只问一个问题,沿决策树把你逼到边界清楚。 和普通「帮我设计一个系统」的区别:普通对话grill-meAI 一次吐完整方案逐题确认,你不同意就改容易过度工程每题…

2026/7/6 14:45:39 阅读更多 →
web应用技术作业8+web应用技术作业9

web应用技术作业8+web应用技术作业9

发文达到上限,合并作业web应用技术作业8实现自己项目中的一个增删改查的页面的查询和删除功能的页面:1)撰写接口文档2)建立apifox接口3)撰写新建数据库表的sql语句,并新建好数据库表4)撰写前端页…

2026/7/6 14:43:34 阅读更多 →
PIC18F56K42与TPS6281x的数字DC-DC电源设计指南

PIC18F56K42与TPS6281x的数字DC-DC电源设计指南

1. 项目背景与核心器件选型在嵌入式电源管理领域,数字控制DC-DC转换器正逐渐取代传统模拟方案。这次我们要实现的方案采用Microchip的PIC18F56K42单片机控制TI的171010550同步降压转换器,构建一个高效可编程的电源系统。这个组合在工业控制、物联网设备供…

2026/7/6 14:41:34 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻