hdu2955 robberies题解(01背包)

原创 2016年05月30日 22:48:45

注意要先转换成不被抓的概率再来算
状态转移方程money[k]=max(money[k],money[k-M[i]]*p[i])//这里的p[i]是不被抓的概率。

#include <stdio.h>
#include <string.h>
#define Max(X,Y) ((X)<(Y)?(Y):(X))
double money[10050];
int main(int argc, char const *argv[])
{
    double P,p[101];
    int T,N,M[101],i,k,maxn;
    scanf("%d",&T);
    while(T--){
        scanf("%lf %d",&P,&N);
        maxn=0;P=1-P;//不被抓的概率
        for(i=0;i<N;i++){scanf("%d %lf",M+i,p+i);maxn+=M[i];p[i]=1.0-p[i];}
        memset(money,0,sizeof(money));
        money[0]=1.0;
        for(i=0;i<N;i++)
            for(k=maxn;k>=M[i];k--)
                if(money[k-M[i]]*p[i]>=P)
             money[k]=Max(money[k],money[k-M[i]]*p[i]);
        for(k=maxn;k>=0;k--)
            if(money[k]>=P) {printf("%d\n",k );break;}
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

hdu2955 Robberies(01背包)题解

传送门 The aspiring Roy the Robber has seen a lot of American movies, and knows that the bad guy...

【DP|01背包】HDU-2955 Robberies

给出几家银行拥有的钱数、抢走该银行的所有钱被抓的概率和能够容忍的最大被抓概率,求在被抓概率在容忍线以下时能够抢劫的最大钱数。...

HDU 2955 Robberies (01背包)

Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

Hdu 2955 Robberies//01背包

题目描述:Roy去抢银行,如何在不被抓住的情况下抢到最多的钱。给出抢每个银行能抢到的钱和被抓到的概率。 分析:刚开始以为概率只有两位小数,乘以100直接做的,结果发现数据不是这样的,果断wa了。然后...
  • mr_zys
  • mr_zys
  • 2013年06月04日 18:53
  • 407

HDU - 2955 Robberies(01背包)

点击打开题目链接 Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java...

hdu2955---Robberies(概率做01背包)

Problem Description The aspiring Roy the Robber has seen a lot of American movies, and knows that t...

HDU 2955 Robberies(经典01背包概率问题)

Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

hdu 2955 Robberies【经典01背包】

DP(关于抢银行概率的那道==)  题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 Robberies Time Limit: 2000/...

hdu2955 Robberies(01背包)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2955 题目大意: 有个人要去抢劫银行,在这之前他对自己抢劫的行为进行了风险估计,抢不同的银行获得的...

HDU2955-Robberies-01背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 英文题就得有翻译。。。 题意:Roy想要抢劫银行,每家银行多有一定的金额和被抓到的概率,知道...
  • wlxsq
  • wlxsq
  • 2015年08月31日 15:12
  • 645
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu2955 robberies题解(01背包)
举报原因:
原因补充:

(最多只允许输入30个字)