hdu 2955 Robberies(0/1背包)

简介: 点击打开链接hdu 2955 思路: 0/1背包 分析: 1 按照题目的意思我们很容易知道这就是一个0/1背包问题,如果我们把概率当作是背包的容量,那么我们遇到一个问题就是浮点数的dp,因为题目没有告诉我们小数点具体几位,那么我们就不能够通...

点击打开链接hdu 2955

思路: 0/1背包
分析:
1 按照题目的意思我们很容易知道这就是一个0/1背包问题,如果我们把概率当作是背包的容量,那么我们遇到一个问题就是浮点数的dp,因为题目没有告诉我们小数点具体几位,那么我们就不能够通过乘上10^n来转化为整数,所以我们应该考虑换种思想
2 按照正常的思路是dp[i][j]表示前i个物品放入概率为j的最大价值,那么我们这边把价值当成背包来看的话我们设dp[i][j]表示前i个物品放入金钱为j的最小被抓概率(因为题目不好求最小概率我们可以认为是最大的不被抓概率)
3 最后去从大到小枚举找到一个被抓的概率小于p即可

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

const int N = 110;
const int MAXN = 10010;

double p;
int n , sum , v[N] , minV;
double dp[MAXN] , w[N];

int solve(){
    memset(dp , 0 , sizeof(dp));
    dp[0] = 1;//  注意当什么钱都没有抢的时候不被抓的概率为1
    for(int i = 1 ; i <= n ; i++)
        for(int j = sum ; j >= v[i] ; j--)
            dp[j] = max(dp[j] , dp[j-v[i]]*(1.0-w[i]));// 这里求不被抓就是每一次都不被抓即相乘
    for(int j = sum ; j >= minV ; j--)
        if(1.0-dp[j] <= p)
            return j;
    return 0;
}

int main(){
    int Case;
    scanf("%d" , &Case);
    while(Case--){
         scanf("%lf%d" , &p , &n); 
         sum = 0;
         minV = 1<<30;
         for(int i = 1 ; i <= n ; i++){
             scanf("%d%lf" , &v[i] , &w[i]);
             sum += v[i];
             minV = min(minV , v[i]);
         }
         printf("%d\n" , solve());
    }
    return 0;
}



目录
相关文章
快递鸟/菜鸟电子面单接口的申请方法
电子面单是一种通过热敏纸打印输出纸质物流面单的物流服务。通过热感应显示文字,打印速度比传统针式打印速度提升4~6倍。电子面单以接口形式嵌入到自己的系统、网站上,可以在自己的平台操作打印电子面单。 一.电子面单接口类型及定义 快递电子面单接口:快递公司自己开发的电子面单服务, 商家使用必须快递公司上门做系统对接,使用一家快递则需要对接一次,比较麻烦,而且后期对接成本也较高。
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能的发展现状如何?
【10月更文挑战第16天】人工智能的发展现状如何?
|
8月前
|
人工智能 数据中心
上海市智算中心建设导则(2025年版)
本导则共分14章,总则部分阐述了总体要求、适用范围、符合性说明等,术语和定义部分汇总了主要的专用术语,并进行定义或说明。其余部分对本市智算中心建设的规划与选址、建筑与配套、规模与功能、 AI基础设施架构、集约高效、安全可靠、绿色节能,以及论证、评估与监测和边缘智算中心等方面进行了规范。
426 13
|
9月前
|
存储 JSON 安全
GraphQL 中的权限与认证:一分钟浅谈
本文介绍了GraphQL中权限与认证的基础概念、实现方法及常见问题。通过JWT认证和基于角色的授权示例,详细展示了如何在GraphQL中实现安全的API访问控制,同时指出了一些常见的易错点及其避免方法。
182 5
|
算法 网络协议 物联网
有线通信网络技术及常用场景(一)
有线通信网络技术及常用场景(一)
608 0
|
存储 监控 算法
Aliware打造史上最强时序数据库,HiTSDB每秒写入时序数据达1000万!
近日,Aliware对外正式发布HiTSDB高性能时序数据库。HiTSDB引入了高效压缩算法,能够将每个数据点的平均内存开销压缩到2字节以下,并且支持最高每秒1000 万的时序数据点写入,同时可以通过“预降精度”的方式,将业务精度的数据在入库的过程中计算完成,提升查询的效率。
9215 97
|
DataWorks Java 关系型数据库
DataWorks常见问题之任务跑成功数据没有成功写入到表里面如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
280 0
|
Android开发
图标提取,一键完成,再也不用截屏抠图了!
图标提取,一键完成,再也不用截屏抠图了!
|
人工智能 算法 安全
天猫精灵CC7评测:一台更懂你的智能音箱管家
天猫精灵的机身顶部弧度、机身腰线都很好,运用最简单的几何学原理,配合爵士银的色彩,就像是一款艺术品,这种简约设计风格也可以更好地让产品融入到家居环境当中。对于男性用户来说,这样的设计风格也更符合审美标准,不会像其他音箱那么花里胡哨,显得高端典雅。
6121 1
天猫精灵CC7评测:一台更懂你的智能音箱管家