解法:

对于 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 个格点的情况。

n+1 格点链的最短路径长度计算公式

原文地址: https://www.cveoy.top/t/topic/nu5c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录