Broken robot

题意:

要在$nm$的矩阵中从 $(i,j)$ 处移动到第 $n$ 行,每次移动可在不动、左移一格、右移一格、下移一格 4 种选择中等概率随机选一种,但移动不能超出矩阵。求移动次数的期望,最少保留4位小数。

 

解法:

考虑概率dp

$f(i,j)$ 表示从 $(i,j)$ 移动到第 $n$ 行的期望步数。

这样有

$f(i,j) = \frac{f(i+1,j)}{3} + \frac{f(i,j-1)}{3} + \frac{f(i,j+1)}{3} + \frac{4}{3}, (1<j<m)$

$f(i,1) = \frac{f(i+1,1)}{2} + \frac{f(i,2)}{2} + \frac{3}{2}$

$f(i,m) = \frac{f(i+1,m)}{2} + \frac{f(i,m-1)}{2} + \frac{3}{2}$

$f(n,j) = 0$

注意到 $f(i,j)$ 固定 $i$ 得到一个 nxn 的行列式。

方法一

  行列式变形,三对角矩阵

  https://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm

 

方法二

  该 m 递推式是以指数级别收敛的,所以直接迭代30次即可。

 

posted @ 2017-05-09 19:34  lawyer'  阅读(174)  评论(0编辑  收藏  举报