专题三 · 1022
来源:互联网 发布:淘宝页面布局怎么设置 编辑:程序博客网 时间:2024/05/18 23:14
代码及解释
#include <cfloat>#include <iostream>#include <algorithm>// 题目有点奇怪,帮小偷偷东西……// 还是个普通背包// 方程:// f[j] = std::max(f[j], f[j - m[i]] * p[i])// 有用的宏定义:DBL_EPSILONconst int SIZE = 10010;int m[SIZE];double p[SIZE];int main() { int t; std::cin >> t; while (t--) { int n; double probability; std::cin >> probability >> n; probability = 1 - probability; int sum = 0; for (int i = 0; i<n; i++) { std::cin >> m[i] >> p[i]; p[i] = 1 - p[i]; sum += m[i]; } double f[SIZE] = { 1.0 }; for (int i = 0; i<n; i++) for (int j = sum; j >= m[i]; j--) f[j] = std::max(f[j], f[j - m[i]] * p[i]); for (int i = sum; i >= 0; i--) if (f[i] - probability > DBL_EPSILON) { printf("%d\n", i); break; } } return 0;}
0 0
- 专题三 · 1022
- 专题三 · 1015
- 专题三 · 1018
- 专题三 · 1018
- 专题三 · 1011
- 专题三 · 1012
- 专题三 · 1013
- 专题三 · 1014
- 专题三 · 1017
- 专题三 · 1019
- 专题三 · 1006
- 3G专题三
- LDAP专题(三)
- IPV6专题(三)
- 专题三1006
- 专题三1001
- 专题三 第一题
- 专题三 第二题
- 视图的优点与缺点总结
- Java学习笔记之深入理解关键字null
- 余额宝
- String.split("|")问题
- canvas的常见用法
- 专题三 · 1022
- 当vector中存储的类型为指针时,vector.clear()的执行结果
- (转)Android侧滑菜单DrawerLayout的使用
- Hyper-V网络配置
- SSM之创建一个Maven工程
- 决策树
- jdk annotation发布webservice服务 及生成客户端调用代码
- 设计模式之禅-里氏替换原则
- Java学习笔记之自动装箱与拆箱