【NOIP提高组模拟】幻象

Description

phantom是一位爱思考的哲♂学家。
最近phantom得到了森の妖精的真传。在他练功的时候, 每秒他的思绪中都有一定的概率浮现出奇♂异的幻象,持续x秒的幻象将产生x^2 的幻象值。
phantom练功发自真心,他想知道,在N秒内他期望产生的幻象值是多少。

Solution

因为持续x秒的幻象将产生 x2 的幻象值,所以设一个L数组, li 表示持续到i秒的期望,容易推出 li=(li1+1)ai% ,那么我们再设出一个f数组,表示到了第i秒的幻象期望值,容易推出 fi fi1 加上新增加的幻象值,但是对于平方的这种操作会很复杂,所以不妨把 li 降级成 li1+1 这样处理就好多了 fi=fi1+((li1+1)2(li1)2)ai%

Code

var
    f,l:array[0..1000000] of extended;
    n,i,x:longint;
begin
    readln(n);
    for i:=1 to n do
    begin
        read(x);
        l[i]:=(l[i-1]+1)*x/100;
        f[i]:=f[i-1]+((l[i-1]+1)*(l[i-1]+1)-l[i-1]*l[i-1])*x/100;
    end;
    writeln(f[n]:0:1);
end.

你可能感兴趣的:(NOIP,DP,概率)