传送门
思路
一道典型的高斯消元
的期望DP
通过朴素的思考,我们可以获得如下的转移方程
\[f_{i,j}=p_{i,j-1}\times(f_{i,j-1}+1)+p_{i,j}\times(f_{i,j}+1)+p_{i,j+1}\times(f_{i,j+1}+1)+p_{i+1,j}\times(f_{i+1,j}+1)
\]
(我们这里采用的是老套路逆推,而要注意到在边界的点移动的概率可能不为 \(\frac1 4\))
乍一看,则不就是简简单单的高消嘛
然后看一下数据范围,好家伙 \(O((nm)^3)\) 怎么可能能过
但再仔细看,每个方程最多只有三个系数不为 \(0\)
而且第 \(i\) 行的转移和第 \(i-1\) 行没有关系,那我们就考虑分开每行高消!
这样我们每次其实就是做一个带状矩阵的高斯消元
时间复杂度为 \(O(mn)\)
代码
#include
#include
#include
#include
#include
#include
#include
#include