博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-2955-Robberies
阅读量:6712 次
发布时间:2019-06-25

本文共 941 字,大约阅读时间需要 3 分钟。

链接:https://vjudge.net/problem/HDU-2955#author=0

题意:

小偷去抢钱,每个银行有一定的钱和抢这个银行被抓的概率。

被抓概率有一个上限,在不超过这个概率的情况下能抢到的最大的钱是多少。

思路:

将被抓的概率转换为安全的概率。

dp[i] 表示,抢到i的钱的安全概率是多少。

01背包。

代码:

#include 
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const int MAXN = 1e4 + 10;double dp[MAXN];int a[MAXN];double b[MAXN];int main(){ int t; int n; double v; scanf("%d", &t); while (t--) { memset(dp, 0, sizeof(dp)); scanf("%lf%d", &v, &n); v = 1 - v; int sum = 0; for (int i = 1;i <= n;i++) { scanf("%d%lf", &a[i], &b[i]); sum += a[i]; b[i] = 1 - b[i];//安全概率 } dp[0] = 1.0; for (int i = 1;i <= n;i++) { for (int j = sum;j >= a[i];j--) dp[j] = max(dp[j], dp[j - a[i]] * b[i]); } for (int i = sum;i >= 0;i--) if (dp[i] >= v) { printf("%d\n", i); break; } } return 0;}

  

转载于:https://www.cnblogs.com/YDDDD/p/10464872.html

你可能感兴趣的文章
数据如何埋点?Mob统计分析电商类APP埋点需求
查看>>
图片 文件 转base64
查看>>
Vuex源码学习(四)module与moduleCollection
查看>>
python基础总结 Part.1
查看>>
【OC梳理】description
查看>>
一篇不太一样的RxJava介绍(二):关于操作符背后的故事
查看>>
FFmpeg模块介绍
查看>>
张家口a货翡翠,梧州a货翡翠
查看>>
JS Object的静态方法汇总( 上 )
查看>>
到手机里面去点击信任就行了。每次都是这样出错。
查看>>
java B2B2C Springcloud多租户电子商城系统-Eureka服务端与客户端常用配置
查看>>
(十一)java版b2b2c社交电商spring cloud分布式微服务-docker部署spring cloud项目
查看>>
jvm疯狂吞占内存,罪魁祸首是谁?
查看>>
表格存储Tablestore权威指南(持续更新)
查看>>
java B2B2C源码电子商城系统-Kafka快速入门
查看>>
Spring Cloud云服务 - HongHu架构common-service 项目构建过程
查看>>
hadoop中hive原理及安装
查看>>
pear默认安装后一个小bug
查看>>
nginx-通过Nginx统计当前每个域名流量
查看>>
OpenSSL学习(二十五):基础-指令x509
查看>>