首页 > 其他 > 详细

BZOJ4318:OSU!

时间:2018-08-04 10:56:09      阅读:142      评论:0      收藏:0      [点我收藏+]

题意:一共有n次操作,每次操作只有成功与失败之分,

成功对应1,失败对应0,n次操作对应为1个长度为n的01串。

在这个串中连续的 X个1可以贡献x^3 的分数 现在给出n,

以及每次操作的成功率,请你输出期望分数,输出四舍五入后保留1位小数。

 

 

 

期望的立方不等于立方的期望

 

设f[i]表示期望得分(三次的期望)

设g[i]表示二次的期望

设h[i]表示1的长度期望(一次的期望)

根据  $x^3=(x-1)^3+3*x^2+3*x+1$

    $x^2=(x-1)^2+2*x+1$

    $x=x-1+1$

得到f,g,h的递推公式(别忘了乘概率)

 

#include<cstdio>
#include<iostream>
using namespace std;
#define dou 0
#define DB double
#define mod 100500
int n;
DB f[mod];
DB g[mod];
DB a[mod];
DB h[mod];
signed main()
{   
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%lf",&a[i]);
        h[i]=(h[i-1]+1)*a[i];
        g[i]=(g[i-1]+2.0*h[i-1]+1)*a[i];
        f[i]=f[i-1]+(3.0*g[i-1]+3.0*h[i-1]+1)*a[i];
    }
    printf("%.1lf",f[n]);
    return 0;
}

 

BZOJ4318:OSU!

原文:https://www.cnblogs.com/olinr/p/9417232.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!