题解:

网上有一种复杂的方法。。好像复杂度并没有优势就没看

定义f[i]表示i的期望经过次数,f[i]=sigma{f[j]*p/q/du[j]}+(i==1);

然后高斯消元就可以了

最后求出来的f[i]表示经过i的期望次数

f[i]*p/q就是爆炸概率

这样可能不是很好理解

我们假设x被拆成两个点,有p/q的概率连向爆炸点

那么我们可以求出爆炸点的期望经过次数

而爆炸点只会经过一次,所以这就是到它的概率了

代码:

05-02 16:06