这篇题解的方法
于是设a[i]表示前i位中第i位为1的长度的期望:
则有
a[i]=(a[i−1]+1)×p[i]
tag:期望的线性延伸:
x2−>(x+1)2−>x2+2x+1
接着推平方
设b[i]表示前i位中第i位为1的长度的平方的期望:
则有
b[i]=(b[i−1]+2×a[i−1]+1)×p[i]
这个线性延伸是什么原理
f[i]=(f[i−1]+3*b[i−1]+3*a[i−1]+1)*p[i]+f[i−1]*(1−p[i])
最后的状态转移方程要根据全期望公式算期望,那这一步为1获得的价值为1,概率是p[i]然后这一步为0那么获得的价值是0直接就是i-1的期望*为0的概率
这样理解方程没问题吧
那第一个考虑这一步状态为1的时候应该是这步为1的概率*之前的期望得分
那么之前的期望我们算一次方的时候
根据上面关于a的式子,求a时我们不就只考虑了第i步是1的情况的期望吗
因此应该改一下a的状态描述变成到第i步一次的情况的期望是多少(最后一个可0可1)
实际上如果将第i步为一的情况考虑进去那求a的状态转移方程应该是
a[i]=(a[i-1]+1)*p[i]+a[i-1]*(1-p[i])
但是题解做法能AC,应该是我理解有误,求神犇指正错误