博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hdu 1203 I NEED A OFFER!
阅读量:4604 次
发布时间:2019-06-09

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

题意很直观了, 中文题。

至少得到一份offer的概率就等于 1 - 一份offer都得不到的概率。

背包问题 , 求得到offer概率最大,也就是一份都得不到的概率最小。

将每一份offer得不到的概率视为权值 , 重量均为所投offer所用美元

那么dp[i] 就表示用了i美元时 , 得不到offer的最小概率

最终结果就是1 - dp[n]

代码如下:

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 using namespace std;14 #define MAXN 1001015 #define INF 0x3f3f3f3f16 #define MOD 100000000717 #define eps 1e-618 #define LL long long19 double dp[MAXN];20 int w[MAXN];21 double v[MAXN];22 int n , m;23 void solve()24 {25 for(int i = 0; i < m; i ++)26 scanf("%d %lf",&w[i] , &v[i]);27 for(int i = 0; i <= n; i ++) dp[i] = 1;28 for(int i = 0; i < m; i ++)29 for(int j = n; j >= w[i]; j --)30 dp[j] = min(dp[j] , dp[j - w[i]] * (1.0 - v[i])); 31 printf("%.1lf%%\n",(1.0 - dp[n]) * 100);32 }33 34 int main()35 {36 while(scanf("%d %d",&n,&m) && (n+m))37 {38 solve();39 }40 return 0;41 }
View Code

 

转载于:https://www.cnblogs.com/By-ruoyu/p/4467642.html

你可能感兴趣的文章
如何提高报表sql效率
查看>>
Linux回收站[改写rm防止误删文件无法恢复] - wklken的笔记 - 博客频道 - CSDN.NET
查看>>
图像的剪切
查看>>
如何在vSphere环境下使用iSCSI存储
查看>>
Java3D实例应用-载入3ds 模型
查看>>
数据库程序Java就该这样学
查看>>
程序员编程艺术第二十五章:Jon Bentley:90%无法正确实现二分查找
查看>>
设置登录MacOSX WebView 对 iframe 设置cookie 有可能失败
查看>>
Debian下的'aptitude update'失败处理
查看>>
gcc 常用命令-Wall
查看>>
落实制度靠流程<摘自平安50万人的执行力>
查看>>
Citrix 服务器虚拟化之一 网络部署Xenserver 6.2
查看>>
java连接mysql批量写入数据
查看>>
回顾 Exchange 2007 SCC 安装-供需要的人参考!
查看>>
.Net下SQLite的DBHelp
查看>>
分布式文件系统之GPFS
查看>>
HDU 4577 X-Boxes
查看>>
开发者必备的6款源码搜索引擎
查看>>
绝杀600元以下智能手机的夏新小V二代-专栏-速途网
查看>>
Backbone模型
查看>>