洛谷 P1654 OSU! 概率DP

首先说明一点:平方的期望 不等于 期望的平方

未完待续。。。

#include<iostream>
#include<cstdio>
using namespace std;
int n;
const int N = 100010;
double a[N], b[N], f[N], p[N];
int main()
{
	cin >> n;
	for (int i = 1; i <= n; ++i)scanf("%lf", &p[i]);
	for (int i = 1; i <= n; ++i)
	{
		a[i] = (a[i - 1] + 1) * p[i];
		b[i] = (b[i - 1] + 2 * a[i - 1] + 1) * p[i];
		f[i] = f[i - 1] + (3 * b[i - 1] + 3 * a[i - 1] + 1) * p[i];
	}
	printf("%0.1f", f[n]);
	return 0;
}

猜你喜欢

转载自www.cnblogs.com/wljss/p/12589726.html