牛客网 珂学送分( 期望DP )

Posted

tags:

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

题意 : 题目链接

 

分析 : 听队友说一般概率从前往后推、期望从后往前推.........

技术分享

 

技术分享
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
double dp[maxn], sumdp[maxn];
int sum[maxn], arr[maxn];
int MaxEle;
int main(void)
{
    int n, m;
    while(~scanf("%d %d", &n, &m)){
        sum[0] = 0;
        for(int i=1; i<=n; i++){
            scanf("%d", &arr[i]);
            sum[i] = sum[i-1] + arr[i];
            dp[i] = 0;
        }

        MaxEle = *max_element(arr+1, arr+1+n);

        int x;
        while(m--){
            scanf("%d", &x);
            if(x < MaxEle) { puts("YNOI is good OI!"); continue; }
            dp[n] = sumdp[n] = 1;
            sumdp[n+1] = 0;
            for(int j=n, i=n-1; i>=1; i--){
                while(sum[j] - sum[i-1] > x) j--; ///判断 sum(i~j)是否小于x
                dp[i] = 1.0/(j-i+1.0) * (sumdp[i+1] - sumdp[j+2]/*注意这里是后缀和*/) + 1.0;
                sumdp[i] = sumdp[i+1] + dp[i];
            }
            printf("%.2lf\\n", dp[1]);
        }
    }
    return 0;
}
View Code

 

以上是关于牛客网 珂学送分( 期望DP )的主要内容,如果未能解决你的问题,请参考以下文章

牛客网 Wannafly挑战赛8 C-小C打比赛 (状压DP)

牛客白月赛7题解

讨“动态规划“檄

讨“动态规划“檄

牛客网刷编程题-美团-1

牛客网挑战赛8