Luogu1654 OSU!

https://www.luogu.com.cn/problem/P1654

期望

我们转换为计算每一步增加得分的期望

得分的情况

\[(x+1)^3-x^3=3x^2+3x+1 \]

计算\(x^2\),\(x\)的期望,即可求得每一步增加得分的期望

#include<cstdio>
#include<iostream>
#include<algorithm>
#define N 100005
#define D double
using namespace std;
int n;
D a[N],f1[N],f2[N],g[N];
int main()
{
    scanf("%d",&n);
    for (int i=1;i<=n;i++)
        scanf("%lf",&a[i]);
    for (int i=1;i<=n;i++)
    {
        f1[i]=(f1[i-1]+1)*a[i];
        f2[i]=(f2[i-1]+2.0*f1[i-1]+1.0)*a[i];
        g[i]=g[i-1]+(3.0*(f1[i-1]+f2[i-1])+1.0)*a[i];
    }
    printf("%.1lf\n",g[n]);
    return 0;
}
posted @ 2020-08-14 11:36  GK0328  阅读(56)  评论(0)    收藏  举报