华为Part:
T3
题目大意:给出 n ∗ m n*m n∗m的矩阵,每个格子有三个值 d , r , s d,r,s d,r,s,r为这一步往右走的概率,d为这一步往下走的概率,s为原地不动的概率,求从 ( 1 , 1 ) (1,1) (1,1)到 ( n , m ) (n,m) (n,m)的期望步数。
n ∗ m < = 1 e 6 n*m<=1e6 n∗m<=1e6
一道正常的笔试题,算是难得的非常正常了…
dp转移方程如下:
d p [ G ( i , j ) ] = ( d p [ G ( i + 1 , j ) ] ∗ d [ G ( i , j ) ] + d p [ G ( i , j + 1 ) ] ∗ r [ G ( i , j ) ] + 1 ) / ( 1.0 − s [ G ( i , j ) ] ) ; dp[G(i,j)]=(dp[G(i+1,j)]*d[G(i,j)]+dp[G(i,j+1)]*r[G(i,j)]+1)/(1.0-s[G(i,j)]); dp[G(i,j)]=(dp[G(i+1,j)]∗d[G(i,j)]+dp[G(i,j+1)]∗r[G(i,j)]+1)/(1.0−s[G(i,j)]);
upd:
应评论区要求解释下 1 / ( 1.0 − s [ G ( i