题目描述
输入格式
输出格式
样例
数据范围与提示
分析
首先看一下问题,也就是在一串字符中有0 1子串,每多一个连续的1,假如说之前的长度为 $ X $,那么如果长度加一的话,那么权值应该变成 $ (X+1)^3 $,所以就可以直接看出来,长度加一的话,那么我们把这个乘方展开,就是$ X^3+3X^2+3X+1 $,所以期望就加了 $ 3X^2+3X+1 $ ,那么我们就可以用一个状态转移方程来记录权值。
下面再来分析一下平方和一次方的记录方式
我们用两个数组来代替:
$ f1[i] $ 数组代替前i结尾连续为1的长度的期望
$ f2[i] $代替前i结尾连续为1的长度平方的期望,那么这就把上边所说的期望增加量可以一一表示出来了;
所以可以先列出这两个的状态转移:
先看到$ f1[i] $,因为每一位的状态都有两种情况,一个是$ 0 $ ,一个是$ 1 $ ,$ 0 $的时候期望为$ 0\times(1-pi) $($ p[i] $就是每个情况的概率,上边的输入里边有)