守卫者的挑战

今天更完这题结束吧,明天多校爆零ε唉.(这题和前面3个题目.
然后打多校的时候,每天更一篇就好了...4天结束数论.
这题是个概率题,很简单的maybe.题目意思啥的都不解释了.
直接上代码:

#include <bits/stdc++.h>
using namespace std;
const int N=205;
double dp[N][N][N<<1];//到了第几次,赢了几次,背包容量为多少.
double p[N];
int a[N];
int n,l,k;//n次比赛,至少赢l次,初始有k的包包.
int f(int x)
{
    x=min(x,n);//节省容量.
    return x+200;//防止负数出现
}

int main()
{
    cin>>n>>l>>k;
    dp[0][0][f(k)]=1.0;
    for(int i=1;i<=n;i++)
    {
        cin>>p[i];
        p[i]/=100.0;
    }
    for(int i=1;i<=n;i++)   cin>>a[i];
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j<=i;j++)
        {
            for(int k=1-i;k<=n;k++)
            {
                dp[i][j][f(k+a[i])]+=dp[i-1][j-1][f(k)]*p[i];
                dp[i][j][f(k)]+=dp[i-1][j][f(k)]*(1-p[i]);
            }
        }
    }
    double ans=0.0;
    for(int i=l;i<=n;i++)
    {
        for(int j=0;j<=n;j++)
        {
            ans+=dp[n][i][f(j)];
        }
    }
    printf("%.6lf\n",ans);
    return 0;
}
lpt的小屋 文章被收录于专栏

我想要一份甜甜的爱情

全部评论

相关推荐

🐭🐭不想面试啦�...:哈哈哈哈,是hc稀缺是吧。一边稀缺,一边后端简历多到捞不出来
点赞 评论 收藏
分享
用微笑面对困难:不是你千万别小看这家公司,他们的预估市值成倍上涨,三次在报告看见这个公司了,总之如果是给股权的话可以试试,未来没准真能发家致富哈哈哈哈
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务