首先得了解, 期望是线性的... 但是期望的平方和立放却不是 emmmmm
我们求的是 x^3 的期望, 明摆着就是求 E[X^3] 的期望但是...E[X^3]!=E[X]^3
不如这样!!!
- E[(X+1)^3]=E(X)^3+3*E[X]^2+3E[X]+1
- E[(X+1)^2]=E[X]^2+2*E[X]+1;
- E[X+1]=(E[X]+1)
这样岂不是美滋滋???
期望的线性性:
期望的和 = 和的期望
期望的平方平方的期望
期望的立方立方的期望
每次如果成功, 对答案贡献 3*x^2+3*x+1 (接着之前的 x 个 1)
失败 贡献 0
我们每次计算期望长度和期望的 长度的平方, 并且都要从前一位线性去推
- #include<iostream>
- #include<stdio.h>
- #include<algorithm>
- #include<string.h>
- using namespace std;
- const int maxx=100010;
- double a[maxx];
- int main(){
- int n;
- scanf("%d",&n);
- double ans=0.0;
- double x1=0.0;
- double x2=0.0,p;
- for (int i=1;i<=n;i++){
- scanf("%lf",&p);
- ans+=(1.0+x1*3.0+x2*3.0)*p;
- x2=(x2+x1*2.0+1.0)*p;
- x1=(x1+1.0)*p;
- }
- printf("%.1lf",ans);
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2732712.html