期望分数
金牌导航 期望-4
题目大意
告诉你一个01串中每个位置是1的概率,对于连续的x个1,贡献为x3x^3x3,问你期望贡献是多少
输入样例
3
0.5
0.5
0.5
输入样例
6.0
数据范围
1⩽N⩽1051\leqslant N \leqslant 10^51⩽N⩽105
解题思路
把(x+1)3(x+1)^3(x+1)3拆成x3+3x2+3×x+1x^3+3x^2 + 3 \times x + 1x3+3x2+3×x+1
然后递推得到各项即可
代码
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 100010
using namespace std;
int n;
double x, f[N], a[N], b[N];
int main()
{scanf("%d", &n);for (int i = 1; i <= n; ++i){scanf("%lf", &x);f[i] = f[i - 1] + (3 * a[i - 1] + 3 * b[i - 1] + 1) * x;a[i] = (a[i - 1] + 2 * b[i - 1] + 1) * x;//x^2b[i] = (b[i - 1] + 1) * x;//x}printf("%.1lf", f[n]);return 0;
}