[bzoj3450]Tyvj1952 Easy

题目大意:有一个长度为 $n$ 的字符串,由 $o,x,?$ 三种字符组成。$?$ 代表 $o,x$ 各有 $50\%$ 概率。求期望的连续 $o$ 长度的平方和。

题解:令$f_i$为到第$i$位的答案,$d_i$为到第$i$位前连续一段$o$的个数的期望,$x_i$为第$i$位为$o$的概率($s_i$为$o$时为$1$,为$x$时为$0$,否则为$0.5$)

$\therefore DP$方程如下:

$$a_i=(a_{i-1}+1)\times x_i+0\times (1-x_i)$$

$$\begin{align*}
f_i&=[f_{i-1}-a{i-1}^3+(a{i-1}+1)^3] \times x_i+f_{i-1}\times(1-x_i)\\
&=(f_{i-1}+3\cdot a_{i-1}^2+3\cdot a_{i-1}+1)\times x_i+f_{i-1}\times(1-x_i)\\
&=(f_{i-1}+3\cdot b_{i-1}+3\cdot a_{i-1}+1)\times x_i+f_{i-1}\times(1-x_i)
\end{align*}$$

 然后发现$f_i$只和$f_{i-1},b_{i-1},a_{i-1},x_i$有关,$b_i$只和$b_{i-1},a_{i-1},x_i$有关,$a_i$只和$a_{i-1},x_i$有关,所以可以滚掉

猜你喜欢

转载自www.cnblogs.com/Memory-of-winter/p/9467151.html