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

2194出差-节点开销Bellman-ford/图论

题目网址: 蓝桥账户中心

 我先用Floyd跑了一遍,不出所料TLE了

n,m=map(int,input().split())c=list(map(int,input().split()))INF=float('inf')
ma=[[INF]*n for i in range(n)]for i in range(m):u,v,w=map(int,input().split())ma[u-1][v-1]=wma[v-1][u-1]=w#“道路”:双向for k in range(n):for i in range(n):for j in range(n):ma[i][j]=min(ma[i][j],ma[i][k]+ma[k][j]+c[k])print(ma[0][n-1])

边集数组 

n,m=map(int,input().split())#节点cost,注意:起点和终点得设为0. ------------
c=list(map(int,input().split()))c[0]=0
c[n-1]=0
#------------------------------------------edges=[]for i in range(m):u,v,w=map(int,input().split())edges.append((u,v,w))#别忘记双向边edges.append((v,u,w))

注意:起点和终点的cost得清洗为0(后面会具体解释)

而且本题是双向边,得两次edges.append( )

Bellman-ford算法

从起点向外传递最短路信息,得经过n-1次松弛才能到达终点

前(n-1)轮检视所有的边(u,v,c),进行松弛操作(判断所有边能否使新路径更小):

(如果第n轮还有更小的那就是存在负环了)

sta去v的新路径:从sta先去u城,加上从u城到v的代价c ,还得加上城市点的cost

但是是u城的cost还是v城的cost?

d[ k ]代表从sta到k点的最小花费,为了方便统计我们得讲所有在路径上的点的话费都算在里面,这也就是为什么前面需要清洗起点和终点的cost为0

那么新路径应该加上的不是中介点u的cost,而是新的v的,这点和floyd的点花费处理不同

(floyd是多源最短路,而bellman是单源最短路)

def bellman(n,edges,sta,c):INF=float('inf')d=[INF]*(n+1)           #注意输入起始从1开始,所以得n+1 ,初始化无边d[sta]=0                #d数组是从sta到各点的最短路径,自己到自己为0#n-1轮松弛for i in range(n-1):for u,v,w in edges:if d[u]!=INF:ncost=d[u]+w+c[v-1]#注意c的索引if ncost<d[v]:#从sta有边到u ,而且新路径更短d[v]=ncost#第n轮:检测负环for u,v,w in edges:if d[u]!=INF and d[u]+w+c[v-1]<d[v]:return Nonereturn dd=bellman(n,edges,1,c) #注意起始从1开始
if d:print(d[n]) #从点1到点n
else:print('有负环')

相关文章:

  • Spring AI 核心概念
  • Atlas 800I A2 离线部署 DeepSeek-R1-Distill-Llama-70B
  • 使用钉钉机器人推送系统内部的ERP停机维护公告
  • Mysql的深度分页查询优化
  • 鲲鹏麒麟搭建Docker仓库
  • DeepSeek 部署中的常见问题及解决方案全解析
  • DrissionPage 请求一次换一个代理(不重启chrome)
  • 快速上手GO的net/http包,个人学习笔记
  • CentOS 7 磁盘阵列搭建与管理全攻略
  • 【计算机视觉】CV实战项目- 深度解析FaceAI:一款全能的人脸检测与图像处理工具库
  • 基于霍尔效应传感器的 BLDC 电机梯形控制方案详解
  • 从零开始学习SLAM|技术路线
  • uniapp+vue3移动端实现输入验证码
  • 数据中台-数据质量管理系统:从架构到实战
  • 函数重载(Function Overloading)
  • 什么是 低秩矩阵(Low-Rank)
  • 多级缓存架构深度解析:从设计原理到生产实践
  • AI时代的能力重构与终身进化
  • Spring Boot 自动配置深度解析:从源码结构到设计哲学
  • 2025上海车展 | 移远通信全栈车载智能解决方案重磅亮相,重构“全域智能”出行新范式
  • 远程控制、窃密、挖矿!我国境内捕获“银狐”木马病毒变种
  • 影子调查丨掉落的喷淋头:太原一7天酒店加盟店消防设施造假迷局
  • 还山记——走进山水、感受山水艺术的魅力
  • 920余名在缅甸当阳等地实施跨境电信网络诈骗的中国籍犯罪嫌疑人被移交我方
  • 蚌埠一动物园用染色犬扮熊猫引争议,园方回应:被投诉已撤走
  • 甘肃省政府原副省长赵金云严重职务违法被开除公职