bzoj4318 OSU!

Posted mchmch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj4318 OSU!相关的知识,希望对你有一定的参考价值。

题意

传送门

题解

考虑动态硅画。

$g(i)$ 表示以 $i$ 结尾的最长 $1$ 的期望长度,$l(i)$ 表示以 $i$ 结尾的最长 $1$ 的长度的平方的期望,$f(i)$ 表示以 $i$ 结尾的期望得分。

注意:这里 $l(i) ot= g(i)^2$ 。

然后 dp 就好了

调试记录

  • 精度炸了。。。

代码

#include <bits/stdc++.h>
using namespace std;

typedef long double ld;
int n;
ld S[100005], f[100005], g[100005], l[100005];

int main()
{
    scanf("%d", &n);
    for (int i=1; i<=n; i++) scanf("%Lf", &S[i]);
    for (int i=1; i<=n; i++) {
        g[i] = S[i] * (g[i-1] + 1);
        l[i] = S[i] * (l[i-1] + 2*g[i-1] + 1);
        f[i] = S[i] * (f[i-1] + 3*l[i-1] + 3*g[i-1] + 1) + (1-S[i]) * f[i-1];
    }
    printf("%.1Lf
", f[n]);
    return 0;
}

 

以上是关于bzoj4318 OSU!的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ 4318 OSU!

BZOJ4318: OSU!

bzoj4318 OSU!

Bzoj4318 OSU!

bzoj4318 OSU!

●BZOJ 4318 OSU!