Luogu P1654 OSU!

link

题解

因为 ((x+1)^3 - x^3 = 3x^2 + 3x + 1) ,则当 (i-1) 位连续的 (1) 长度为 (l) 时,第 (i) 位的贡献为 (3l^2 + 3l + 1)
(E(i) = E(i-1) + p(i) imes (3l^2 + 3l + 1)) 。答案为 (E(n)) 。对 (l^2)(l) 求期望即可。
(l^2 gets (l^2 + 2l + 1) imes p(i),l gets (l + 1) imes p(i))

#include <cstdio>

int n;
double p;
double x1, x2;
double ans;

int main() {
	scanf("%d", &n);
	for (int i = 1; i <= n; ++i) {
		scanf("%lf", &p);
		ans += (3 * x2 + 3 * x1 + 1) * p;
		x2 = (x2 + 2 * x1 + 1) * p;
		x1 = (x1 + 1) * p;
	}
	printf("%.1lf", ans);
	return 0;
}
原文地址:https://www.cnblogs.com/kcn999/p/13741590.html