mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-06 23:28:29 +08:00
修改 0095.城市间货物运输II.md 中的错误链接
This commit is contained in:
@ -54,7 +54,7 @@ circle
|
|||||||
|
|
||||||
## 思路
|
## 思路
|
||||||
|
|
||||||
本题是 [kama94.城市间货物运输I](./kama94.城市间货物运输I.md) 延伸题目。
|
本题是 [kama94.城市间货物运输I](./0094.城市间货物运输I.md) 延伸题目。
|
||||||
|
|
||||||
本题是要我们判断 负权回路,也就是图中出现环且环上的边总权值为负数。
|
本题是要我们判断 负权回路,也就是图中出现环且环上的边总权值为负数。
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ circle
|
|||||||
|
|
||||||
接下来我们来看 如何使用 bellman_ford 算法来判断 负权回路。
|
接下来我们来看 如何使用 bellman_ford 算法来判断 负权回路。
|
||||||
|
|
||||||
在 [kama94.城市间货物运输I](./kama94.城市间货物运输I.md) 中 我们讲了 bellman_ford 算法的核心就是一句话:对 所有边 进行 n-1 次松弛。 同时文中的 【拓展】部分, 我们也讲了 松弛n次以上 会怎么样?
|
在 [kama94.城市间货物运输I](./0094.城市间货物运输I.md) 中 我们讲了 bellman_ford 算法的核心就是一句话:对 所有边 进行 n-1 次松弛。 同时文中的 【拓展】部分, 我们也讲了 松弛n次以上 会怎么样?
|
||||||
|
|
||||||
在没有负权回路的图中,松弛 n 次以上 ,结果不会有变化。
|
在没有负权回路的图中,松弛 n 次以上 ,结果不会有变化。
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ circle
|
|||||||
|
|
||||||
那么每松弛一次,都会更新最短路径,所以结果会一直有变化。
|
那么每松弛一次,都会更新最短路径,所以结果会一直有变化。
|
||||||
|
|
||||||
(如果对于 bellman_ford 不了解的录友,建议详细看这里:[kama94.城市间货物运输I](./kama94.城市间货物运输I.md))
|
(如果对于 bellman_ford 不了解的录友,建议详细看这里:[kama94.城市间货物运输I](./0094.城市间货物运输I.md))
|
||||||
|
|
||||||
以上为理论分析,接下来我们再画图举例。
|
以上为理论分析,接下来我们再画图举例。
|
||||||
|
|
||||||
@ -94,13 +94,13 @@ circle
|
|||||||
|
|
||||||
如果在负权回路多绕两圈,三圈,无穷圈,那么我们的总成本就会无限小, 如果要求最小成本的话,你会发现本题就无解了。
|
如果在负权回路多绕两圈,三圈,无穷圈,那么我们的总成本就会无限小, 如果要求最小成本的话,你会发现本题就无解了。
|
||||||
|
|
||||||
在 bellman_ford 算法中,松弛 n-1 次所有的边 就可以求得 起点到任何节点的最短路径,松弛 n 次以上,minDist数组(记录起到到其他节点的最短距离)中的结果也不会有改变 (如果对 bellman_ford 算法 不了解,也不知道 minDist 是什么,建议详看上篇讲解[kama94.城市间货物运输I](./kama94.城市间货物运输I.md))
|
在 bellman_ford 算法中,松弛 n-1 次所有的边 就可以求得 起点到任何节点的最短路径,松弛 n 次以上,minDist数组(记录起到到其他节点的最短距离)中的结果也不会有改变 (如果对 bellman_ford 算法 不了解,也不知道 minDist 是什么,建议详看上篇讲解[kama94.城市间货物运输I](./0094.城市间货物运输I.md))
|
||||||
|
|
||||||
而本题有负权回路的情况下,一直都会有更短的最短路,所以 松弛 第n次,minDist数组 也会发生改变。
|
而本题有负权回路的情况下,一直都会有更短的最短路,所以 松弛 第n次,minDist数组 也会发生改变。
|
||||||
|
|
||||||
那么解决本题的 核心思路,就是在 [kama94.城市间货物运输I](./kama94.城市间货物运输I.md) 的基础上,再多松弛一次,看minDist数组 是否发生变化。
|
那么解决本题的 核心思路,就是在 [kama94.城市间货物运输I](./0094.城市间货物运输I.md) 的基础上,再多松弛一次,看minDist数组 是否发生变化。
|
||||||
|
|
||||||
代码和 [kama94.城市间货物运输I](./kama94.城市间货物运输I.md) 基本是一样的,如下:(关键地方已注释)
|
代码和 [kama94.城市间货物运输I](./0094.城市间货物运输I.md) 基本是一样的,如下:(关键地方已注释)
|
||||||
|
|
||||||
```CPP
|
```CPP
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
Reference in New Issue
Block a user