首先我们有一个很(naive)的想法是构建出转移矩阵,然后矩阵快速幂迭代足够多次,得到的结果约为答案
复杂度(O((nl)^3logk)),正确性玄学
但是我们肯定不是要介绍这种方法,而是另外一种
高斯消元经典应用:解图上期望(DP)
我们设(x_i)为整局游戏经过(x)点的期望次数,则初始时(x_0=1),(p_{i,j})为(i)转移到(j)的概率,则有
[x_0=1+p_{0,0}x_0+p_{1,0}x_1……+p_{n-1,0}x_{n-1}
]
[x_i=p_{0,i}x_0+p_{1,i}x_1……+p_{n-1,i}x_{n-1}(i≠0)
]
把未知项移到一侧
[-x_0+p_{0,0}x_0+p_{1,0}x_1……+p_{n-1,0}x_{n-1}=-1
]
[-x_i+p_{0,i}x_0+p_{1,i}x_1……+p_{n-1,i}x_{n-1}=0(i≠0)
]
由于题目要求移动到某个标记节点就停止,所以标记节点处的期望次数就是它所对应的概率
所以直接高斯消元就可以得到答案,至于转移矩阵用AC自动机跑个trie图出来就好了