We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 902304f commit ba323fdCopy full SHA for ba323fd
1 file changed
BFS/2258.Escape-the-Spreading-Fire/Readme.md
@@ -40,7 +40,7 @@ P可以走4步到达终点D,F可以走2步到达终点D。这中情况下,
40
#### 解法4:BFS+反向Dijkstra
41
在正向BFS求得fire矩阵之后,假设人到达终点的时间就是fire[m-1][n-1],然后反向从右下角开始Dijkstra,求得右下角到矩阵每个位置的最短路径。也就是说,我们可以求得一个矩阵,ret[i][j]表示人最晚什么时候到达(i,j),才能保证能在fire[m-1][n-1]时刻到达右下角。
42
43
-举个例子,假设右下角的初始时刻是9,相邻的两个位置上有fire[m-1][n-2]是8,fire[m-2][n-1]是10;那么rets[m-1][n-2]就是7,fire[m-1][n-2]是8. Dijkstra的传播过程要遵守两个规则:随着BFS的过程,ret[i][j]必须逐步是变小;其次任何位置上,ret[i][j]必须小于fire[i][j].
+举个例子,假设右下角的初始时刻是9,相邻的两个位置上有fire[m-1][n-2]是8,fire[m-2][n-1]是10;那么rets[m-1][n-2]就是7,fire[m-1][n-2]是8. Dijkstra的传播过程要遵守两个规则:随着BFS的过程,ret[i][j]必须逐步是变小;其次任何位置上,ret[i][j]必须小于fire[i][j]. 这也解释了为什么得用Dijkstra和PQ,而不是传统的BFS和队列,这是因为相邻两点之间的时间差不一定是1.
44
45
最终的答案是ret[0][0].
46
0 commit comments