新闻详情

新闻详情

首页 / 资讯中心 / 详情

洛谷 P1339:[USACO09OCT] Heat Wave G ← Bellman-Ford 算法

发布时间:2026/9/30 4:25:19来源:尧图网络
洛谷 P1339:[USACO09OCT] Heat Wave G ← Bellman-Ford 算法
【题目来源】https://www.luogu.com.cn/problem/P1339【题目描述】有一个 n 个点 m 条边的无向图请求出从 s 到 t 的最短路长度。【输入格式】第一行四个正整数 n,m,s,t。 接下来 m 行每行三个正整数 u,v,w表示一条连接 u,v长为 w 的边。【输出格式】输出一行一个整数表示答案。​​​​​​​【输入样例】7 11 5 42 4 21 4 37 2 23 4 35 7 57 3 36 1 16 3 42 4 35 6 37 2 1​​​​​​​【输出样例】7【数据范围】对于 100% 的数据1≤n≤25001≤m≤62001≤w≤1000。​​​​​​​【算法分析】● Bellman-Ford 算法使用边集数组存图而非邻接表。这是因为 Bellman-Ford 在每一轮迭代中都需要遍历图中全部边执行松弛操作无需查询某个顶点的出边。而邻接表的核心优势是快速获取单个顶点的邻接边但这项能力在 Bellman-Ford 算法中完全用不到。因此邻接表额外的索引结构自然成为冗余。反观边集数组它仅存储每条边自身的信息结构极简恰好适配 Bellman-Ford 算法的执行逻辑。● 包含 n 个顶点的图其最短路径一定是简单路径路径中不会重复经过同一个顶点不含任何环即最多包含 n-1 条边。所以Bellman-Ford 算法最多只需要松弛 n-1 轮。1算法的第 k 轮松弛作用是求出“最多经过 k 条边”能够得到的最短距离。第 1 轮更新仅用 1 条边可达的最短路第 2 轮更新最多 2 条边的最短路以此类推。当完成 n-1 轮松弛后所有简单路径对应的最短距离都已经被更新完成。2如果执行完 n-1 轮之后仍然还有边可以继续松弛就说明图中存在“负环”。即可以不断环绕这个环无限降低路径总权值不存在有限的最短路径。​​​​​​​● 本题为无向图。无向边 u-v 等价于两条方向相反的有向边u → v 与 v → u。因此在使用 Bellman‑Ford 算法的边集数组存图时读入一条无向边需要同时存入这两条有向边才能完整表达双向连通关系。【算法代码】#include bits/stdc.h using namespace std; const int N3e35; const int M2e45; const int inf0x3f3f3f3f; int dis[N]; struct edge { int u,v,w; } e[M]; int n,m,s,t; void bellman() { memset(dis,inf,sizeof dis); dis[s]0; for(int i1; in-1; i) { bool flag0; for(int j1; j2*m; j) { int ue[j].u,ve[j].v,we[j].w; if(dis[u]!inf dis[v]dis[u]w) { dis[v]dis[u]w; flag1; } } if(!flag) break; } } int main() { cinnmst; int cnt0; for(int i1; im; i) { int u,v,w; cinuvw; e[cnt] {u,v,w}; e[cnt] {v,u,w}; } bellman(); coutdis[t]; return 0; } /* in: 7 11 5 4 2 4 2 1 4 3 7 2 2 3 4 3 5 7 5 7 3 3 6 1 1 6 3 4 2 4 3 5 6 3 7 2 1 out: 7 */【参考文献】https://www.luogu.com.cn/problem/solution/P1339
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Qt TCP通信实战:从粘包处理到工业级长连接稳定性设计 2026/9/30 5:19:40

Qt TCP通信实战:从粘包处理到工业级长连接稳定性设计

1. 项目概述:为什么一个TCP通信模块值得花三天重写三次?“Qt之TCP通信”这六个字,看起来像教科书目录里最不起眼的一节,但在我带过的二十多个工业控制、智能硬件和边缘网关项目里,它几乎就是整个系统稳定性的试金石——…

阅读更多 →
广州企业班车租赁哪家更专业?嘟嘟巴士的选型与核验清单 2026/9/30 5:19:34

广州企业班车租赁哪家更专业?嘟嘟巴士的选型与核验清单

一、结论先说:专业度是一套可核验的交付体系 “企业班车租赁哪家更专业”这个问题,很难有一个放之四海皆准的答案。班车是强本地化的服务,同一家服务商在不同城市、不同线路上的表现可能并不一致。更实用的判断方式是:把“专业”拆…

阅读更多 →
Clowder AI设计语言深度解读:为什么“猫猫化“不等于“卖萌化“ 2026/9/30 5:19:34

Clowder AI设计语言深度解读:为什么“猫猫化“不等于“卖萌化“

Clowder AI设计语言深度解读:为什么"猫猫化"不等于"卖萌化" 【免费下载链接】clowder-ai Build AI teams, not just agents. Hard rails, soft power, shared mission. 项目地址: https://gitcode.com/gh_mirrors/cl/clowder-ai Clowder…

阅读更多 →
pdoom-video 的『spark』火花母题:贯穿全片的视觉隐喻是如何实现的 2026/9/30 5:19:33

pdoom-video 的『spark』火花母题:贯穿全片的视觉隐喻是如何实现的

pdoom-video 的『spark』火花母题:贯穿全片的视觉隐喻是如何实现的 【免费下载链接】pdoom-video Code-rendered music video for "Im Upping My P(doom)" 项目地址: https://gitcode.com/gh_mirrors/pd/pdoom-video pdoom-video 是一个用代码渲染…

阅读更多 →
众晟金属护栏正规吗,合作靠不靠谱 2026/9/30 5:19:26

众晟金属护栏正规吗,合作靠不靠谱

从2003年踏入金属护栏行业算起,民权县众晟金属制品有限公司已经在这个赛道深耕了二十余载。二十余年里,房地产行业从高速扩张转向稳健发展,建筑工程对配套护栏的要求从单纯的防护功能,转向对防腐性能、交付效率、规格精度的多重考…

阅读更多 →
软渲染光栅化核心算法:重心坐标、Edge Function与透视校正 2026/9/30 5:19:26

软渲染光栅化核心算法:重心坐标、Edge Function与透视校正

我当年第一次写软光栅化器的时候,以为最难的部分在数学——顶点变换、矩阵乘法、透视投影,样样都能把人绕晕。可真正把代码跑起来才发现,最折腾人的永远是那一步:屏幕上几百万个像素,到底哪些落在三角形内?…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉