bzoj 4318 OSU! 概率dp

来源:互联网 发布:高斯混合模型 java 编辑:程序博客网 时间:2024/05/22 15:16

这道题只是想告诉我们只有两个期望无关时才可乘,因此平方的期望不等于期望的平方。。。
需要维护f1[i]表示到i连续的个数的期望,f2[i]表示到i连续的个数平方的期望,f3[i]表示到i连续的个数立方的期望

#include <bits/stdc++.h>using namespace std;#define N 110000int n;double f1[N],f2[N],f3[N],pr[N],ans;int main(){    //freopen("tt.in","r",stdin);    scanf("%d",&n);    for(int i=1;i<=n;i++)        scanf("%lf",&pr[i]);    for(int i=1;i<=n;i++)    {        f1[i]=pr[i]*(f1[i-1]+1);        f2[i]=pr[i]*(f2[i-1]+2*f1[i-1]+1);        f3[i]=pr[i]*(f3[i-1]+3*f2[i-1]+3*f1[i-1]+1);        ans+=(1-pr[i])*f3[i-1];    }    ans+=f3[n];    printf("%.1lf\n",ans);    return 0;}
0 0