可能的错误
查看原帖
可能的错误
297555
Zlc晨鑫楼主2023/8/26 19:55

顺推中,正确的转移方程: f[v] += (p[u] * w[i] + f[u]) / dout[u];

其中f[x]表示从1到x到期望步数,p[x]表示从1走到x的概率。

错误的转移式子是:

f[v] += p[u] / dout[u] * w[i] + f[u]

这样看似是对的,但是从定义出发:

对于v,它的期望步数是所有路径的概率乘上长度的和。

假设从1到u的所有路径是d1(p1), d2(p2), d3(p3),d是长度,p是概率。

那么

f[v]=(d1+w)*p1/k + (d2+w)*p2/k + ... 
=1/k*(d1*p1+d2*p2+...+w*(p1+p2+...))
=1/k*(f[u]+w*p[u])

所以前者才是正确的

PS:错了这个只有20pts

2023/8/26 19:55
加载中...