题解:
网上有一种复杂的方法。。好像复杂度并没有优势就没看
定义f[i]表示i的期望经过次数,f[i]=sigma{f[j]*p/q/du[j]}+(i==1);
然后高斯消元就可以了
最后求出来的f[i]表示经过i的期望次数
f[i]*p/q就是爆炸概率
这样可能不是很好理解
我们假设x被拆成两个点,有p/q的概率连向爆炸点
那么我们可以求出爆炸点的期望经过次数
而爆炸点只会经过一次,所以这就是到它的概率了
代码: