P1654 OSU!

Miku

一道很简单的数学期望题

一次方的时候,由于期望的线性性质

\(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;
}
posted @ 2020-10-02 13:25  Simex  阅读(90)  评论(0编辑  收藏  举报