暴力递归到动态规划--马走日,鲍勃的生存概率

  • 题目

9*10的棋盘上,马初始在(x,y)上,求k步后到达目标点(endx,endy)的走法数。

暴力递归到动态规划--马走日,鲍勃的生存概率

分析

1)递归式
暴力递归到动态规划--马走日,鲍勃的生存概率
2)动规
·马当前位置x,y还有剩余步数k为可变量,因此建立三维表格。
暴力递归到动态规划--马走日,鲍勃的生存概率
·可以看出,当k=0,即在最下面这一层时,只有(x,y)等于(enx,eny)的格子上才会标1,即三维表格元素的含义就是在还剩k步的情况下,从坐标(x,y)出发能到达目标点的走法数。
因此,需要从k=0层一直往上推,每一层的(x,y)只依赖于其底下一层的(x,y)。

暴力递归到动态规划--马走日,鲍勃的生存概率


暴力递归到动态规划--马走日,鲍勃的生存概率
暴力递归到动态规划--马走日,鲍勃的生存概率

分析:

鲍勃可以向上下左右移动,必须走K步,即鲍勃的移动范围应该是以初始点为中心的KK范围。走完K步后求在NM区域的概率。如下图黑框为鲍勃移动面积,绿框为鲍勃的生存区。

暴力递归到动态规划--马走日,鲍勃的生存概率
1)递归
暴力递归到动态规划--马走日,鲍勃的生存概率
2)改动规
画出表格,x,y,k三维。
暴力递归到动态规划--马走日,鲍勃的生存概率
根据递归式
暴力递归到动态规划--马走日,鲍勃的生存概率
这里预留了两个空格,一前一后省去越界处理。
暴力递归到动态规划--马走日,鲍勃的生存概率