【求助】求讲解迪杰斯特拉算法是如何实现的

P1339 [USACO09OCT] Heat Wave G

要证明的话[wiki](https://oi-wiki.org/graph/shortest-path/#dijkstra)写得比较详细
by ningago @ 2022-06-17 10:33:18


贪心的松弛操作
by Dream_Harrasser @ 2022-06-17 11:28:31


dijkstra是时间稳定的计算一个点到其他所有点的最短路径算法,不能用于计算带负权的图; 把点分成两类,一种是已确定最短路长度的点,称为白点,另一类是未确定最短路径的点,称为蓝点; 每次循环,找出到起点距离最短的蓝点,因为边权非负,它无法被更新成更短的长度,所以把它变为白点,用?[?]+???[?][?]更新其他蓝点的距离; 方法: 1.枚举目前距离最小点u; 2.枚举u的邻接点v,若目标点v的距离dist[v],大于dist[v]与e.w之和,更新dist[v]; 3.重复步骤1、2共n次;
by Respects_H @ 2022-08-16 20:51:57


|