很妙的一道题。
题目要求$X^3$的期望值。
直接求不好求。
考虑先求出$X$和$X^2$的期望值,然后再求$X^3$的期望值。
迎.刃.而.解.
#include<iostream> #include<cstdio> using namespace std; double p[100005],x1[100005],x2[100005],x3[100005]; int main() { int n=0; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%lf",&p[i]); for(int i=1;i<=n;i++) { x1[i]=p[i]*(x1[i-1]+1); x2[i]=p[i]*(x2[i-1]+2*x1[i-1]+1); x3[i]=x3[i-1]+p[i]*(3*x2[i-1]+3*x1[i-1]+1); } printf("%.1f",x3[n]); return 0; }