主元法求解网格图上的随机游走问题.
朴素的高斯消元是 $O((nm)^3)$ 的,无法通过.
考虑主元法,将前 $2$ 行,第 $1$ 列的共计 $2m+n-2$ 个变量作为主元,尝试将其他变量用主元表示,并解出主元的值.
从上到下,从左到右依次考虑每个位置的方程,可以发现其中只有 $x_{i+2,j+1}$ 还没有被主元表示.
根据方程,若 $(i+2,j+1)$ 在棋盘内,就可以将 $x_{i+2,j+1}$ 也用主元表示,若不在棋盘内,则得到了一个关于主元的方程.
最后恰好能得到 $2m+n-2$ 个关于主元的线性方程,用高斯消元求解主元的值即可,时间复杂度 $O((n+m)^3)$ .
1 | //%std |