HDU 1203 I NEED A OFFER!(01背包基础题)
来源:互联网 发布:淘宝联盟app推广 编辑:程序博客网 时间:2024/06/05 14:07
题目链接: I NEED A OFFER!
中文题。
注意从反面考虑和边界。
AC代码:
#include<stdio.h>#include<string.h>#define Min(a,b) a<b?a:bint main(){int n,m,j;int i,a[10000];double b[10000];double dp[10000];while(scanf("%d %d",&n,&m)!=EOF,(n+m)){for(i=0;i<=n;i++)//概率相乘,dp初始化为1.0dp[i]=1.0;for(i=0;i<m;i++){scanf("%d %lf",&a[i],&b[i]);b[i]=1.0-b[i];//那不到offer的概率}for(i=0;i<m;i++){for(j=n;j>=a[i];j--){dp[j]=Min(dp[j],dp[j-a[i]]*b[i]);}}printf("%.1lf%%\n",(1.0-dp[n])*100);}return 0;}
反思:又是一道逆向思维的题目。学习DP的时候注意边界和状态方程的由来。
0 0
- HDU 1203 I NEED A OFFER!(基础背包)
- HDU 1203 I NEED A OFFER!(01背包基础题)
- HDU 1203 I NEED A OFFER!(简单01背包)
- hdu 1203 I NEED A OFFER!(简单01背包)
- HDU 1203 I NEED A OFFER! (01背包)
- I NEED A OFFER! (hdu 1203 01背包)
- HDU-1203-I NEED A OFFER!(Java+01背包)
- HDU 1203 I NEED A OFFER! (01背包)
- hdu 1203 I NEED A OFFER!(01背包)
- hdu 1203 I NEED A OFFER!(01背包)
- HDU 1203 I NEED A OFFER!(01背包)
- hdu 1203 I NEED A OFFER!(01背包)
- HDU 1203 I NEED A OFFER!(01背包)
- 【HDU 1203】I NEED A OFFER!(01背包)
- HDU 1203 I NEED A OFFER!(01背包)
- HDU 1203 I NEED A OFFER!(01背包)
- hdu 1203 I NEED A OFFER!(01背包)
- HDU-1203-I NEED A OFFER!(01背包)
- ASP.NET MVC 描述类型(二)
- Effective Java (6) 消除过期的对象引用
- 最小生成树 POJ3723 Conscription
- LAMP安装问题
- 初探Linux网络协议栈
- HDU 1203 I NEED A OFFER!(01背包基础题)
- 腾讯后台面试
- POJ3045 Cow Acrobats 二分搜索
- spring mvc 基础配置
- 数字图像处理
- tty设备驱动数据流动分析
- 使用FudanNLP分词工具分词并移除停用词
- Reactor pattern
- 用CSS3绘制图形