P1654 OSU!
一道很简单的数学期望题
一次方的时候,由于期望的线性性质
\(a_i=(a_{i-1}+1)*p\)
这里的是在i号点成功的期望得分
二次方呢?
\(x^2\)=\(((x-1)+1)^2\),然后展开,就可以递推了
三次方的时候同理
而最后问的是期望得分,所以三次方时最后要加上\(c_{i-1}*(1-p)\)
然后就A了
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
double a[100001];
double b[100001],c[100001];
int n;
double x;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%lf",&x);
a[i]=(a[i-1]+1)*x;
b[i]=(b[i-1]+2*a[i-1]+1.0)*x;
c[i]=(c[i-1]+3*b[i-1]+3*a[i-1]+1.0)*x+c[i-1]*(1.0-x);
}
printf("%.1lf",c[n]);
return 0;
}