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;
}

浙公网安备 33010602011771号