n+1 格点链的最短路径长度计算公式
解法:
对于 n+1 格点链的情况,Gn+1,n+1 表示的是从起点到终点的最短路径长度,其中起点和终点均位于第 n+1 个格点上。
我们可以将这个问题转化为从起点到终点的最短路径经过第 n 个格点的情况和不经过第 n 个格点的情况。
如果最短路径经过第 n 个格点,那么起点到第 n 个格点的最短路径长度为 Gn,n,第 n 个格点到终点的最短路径长度为 1,因此起点到终点经过第 n 个格点的最短路径长度为 Gn,n+1+1。
如果最短路径不经过第 n 个格点,那么起点到终点的最短路径长度为 Gn+1,n,因此起点到终点不经过第 n 个格点的最短路径长度为 Gn+1,n。
综上所述,有:
Gn+1,n+1 = min(Gn,n+1+1, Gn+1,n)
其中,Gn,n+1 和 Gn+1,n 可以通过递推计算得到,即:
G1,2 = 1
G2,1 = 1
G1,3 = 2
G3,1 = 2
G2,3 = 1
G3,2 = 1
Gn,n+1 = Gn+1,n = 1
对于 n>3 的情况,有递推式:
G1,n = n-1
Gn,1 = n-1
Gn,n+1 = Gn+1,n = 1
Gn,m = min(Gn-1,m+1+1, Gn,m-1)
其中 m>n,表示从起点到终点不经过第 n 个格点的情况。
原文地址: https://www.cveoy.top/t/topic/nu5c 著作权归作者所有。请勿转载和采集!