zoukankan      html  css  js  c++  java
  • BZOJ4318 OSU!(动态规划+概率期望)

      设f[i][0/1]为考虑前i位,第i位为0/1时的期望得分(乘以是0/1的概率)。暴力转移显然。前缀和优化即可。

      但是这个前缀和精度无法承受,动不动就nan。

      考虑增加一位的贡献。若之前后缀1的个数为x,则增加一个1的贡献为(x+1)3-x3=3x2+3x+1。因此记录后缀1的个数期望、后缀1的个数平方的期望即可。

    #include<iostream> 
    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int read()
    {
        int x=0,f=1;char c=getchar();
        while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}
        while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
        return x*f;
    }
    #define N 100010
    int n;
    double p[N],e,e2,ans;
    int main()
    {
    #ifndef ONLINE_JUDGE
        freopen("bzoj4318.in","r",stdin);
        freopen("bzoj4318.out","w",stdout);
        const char LL[]="%I64d
    ";
    #else
        const char LL[]="%lld
    ";
    #endif
        n=read();
        for (int i=1;i<=n;i++) scanf("%lf",&p[i]);
        for (int i=1;i<=n;i++)
        {
            ans+=(3*e2+3*e+1)*p[i];
            e2=(e2+2*e+1)*p[i];
            e=(e+1)*p[i];
        }
        printf("%.1f",ans);
        return 0;
    }
  • 相关阅读:
    Oracle Golden Gate
    DNS
    RMAN 管理
    黄伟-RAC生产库现场调整本分策略实战
    Linux下RAID技术
    OCP之黄伟 2
    About NULL Value
    OCP之黄伟
    Table
    Perl的简单变量
  • 原文地址:https://www.cnblogs.com/Gloid/p/9853414.html
Copyright © 2011-2022 走看看