HDU 1203 I NEED A OFFER! (动态规划、01背包、概率)
I NEED A OFFER!
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 40874 Accepted Submission(s): 16228
Problem Description
Input
后面的m行,每行都有两个数据ai(整型),bi(实型)分别表示第i个学校的申请费用和可能拿到offer的概率。
输入的最后有两个0。
Output
Sample Input
10 3 4 0.1 4 0.2 5 0.3 0 0
Sample Output
44.0%HintYou should use printf("%%") to print a '%'.
题目分析
就是简单的01背包,但是要注意的是,要求的是至少能上一所学校的概率,所以先算每个都上不成的概率,然后再用1减去即可
一开始WA了好久,最后发现是输入判断不严谨了.....必须要m和n都是0才行
代码
#include<bits/stdc++.h>using namespace std;double dp[10005],p[10005]; int i,j,s[10005],n,m;int main() {while(scanf("%d%d",&n,&m)&&(!(m==0&&n==0))){for(i=1;i<=m;i++){cin>>s[i]>>p[i];}for(i=0;i<=n;i++)dp[i]=1.0;for(i=1;i<=m;i++){for(j=n;j>=s[i];j--){dp[j]=min(dp[j],dp[j-s[i]]*(1.0-p[i]));}}printf("%.1lf%%\n",(1-dp[n])*100);} }
转载于:https://www.cnblogs.com/dyhaohaoxuexi/p/11432799.html
HDU 1203 I NEED A OFFER! (动态规划、01背包、概率)相关推荐
- HDU 1203 I NEED A OFFER!(01背包)
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 动态规划——01背包
动态规划--01背包 1. 经典"01背包" 2. "01背包"方法归纳 3. 实战 3.1 分割等和子集 3.2 最后一块石头的重量 II 3.3 目标和 3 ...
- 【动态规划-01背包】 HDU 1203 I NEED A OFFER!
1203 ( I NEED A OFFER! ) Problem Description Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学 ...
- HDU 1203 I NEED A OFFER!
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU1203_I NEED A OFFER!【01背包】
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 算法分析-动态规划-01背包
在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2--Wn,与之相对应的价值为P1,P2--Pn.求出获得最大价值的方案. 注意:在本题中,所有的体积值均为整数.01的意思是,每个物 ...
- 杭电1203--I NEED A OFFER!(01背包)
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 动态规划—0-1背包
动态规划有以下三个特点: 1:多阶段决策 2:最优值和最优解 3:最优子结构 动态规划采用自底而上的思想保存子问题值,避免重复计算.例如斐波那契数列的递归函数,f(5)=f(3)+f(4),而f(4) ...
- hdu 2546 饭卡——一道简单的 01背包
今天讲的是动态规划,学长们拉了13道题让我们做一下,一下午大概4小时,做了5道题(还是太弱了 摊手) 题意: 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上 ...
最新文章
- R语言绘制核密度图实战(Kernel Density Plot)
- No_16_0303 Java基础学习第十一天
- js验证input输入框(字母,数字,符号,中文)
- 怎么把文件导入python_如何导入其他Python文件?
- js 兼容event.target
- 设计模式-责任链模型
- android 保活方案_Android 后台保活手段总结 (上篇)
- python中numpy的用法_Python中numpy多维数组的用法
- 用python画渐变的圆_python画环形图的方法
- java 实现WebService 以及不同的调用方式
- python里怎么读取文件-python之文件读写
- 【空间分析-文章学习笔记】2 北京各行业的空间分布分析
- typra + picgo + 腾讯云 配合使用编辑微信公众号内容
- Sniffer Pro 4.7.5注册不成功问题(unable to communicate with server)
- linux 网桥浅析
- 排序算法——冒泡排序
- PureMVC框架知识介绍
- K线技术指标实现详解—ENE
- 状态模式、有限状态机 Unity版本实现
- 树莓派3B+安装ubuntu16.04与ROS
热门文章
- Python3 字典 copy()方法
- 用 vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)
- Linux-在linux修改文件夹及其子文件夹的权限
- 剑指offer--旋转数组的最小数字
- lvs服务器需要开启web服务么_Centos7搭建LVS+Keepalived高可用Web
- QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开
- Python基础【day02】:元组和购物车练习的知识点
- wireshark过滤使用
- 『AA』AutoAnchor自动猫
- 推荐一篇讲解各种debug技术的文章,相当不错!