01背包。将最大金额作为容量v。概率做乘法。

 #include <stdio.h>
#include <string.h> #define mymax(a, b) (a>b) ? a:b float dp[];
int mon[];
float fs[]; int main() {
int case_n;
float ff, f;
int m, v;
int i, j; scanf("%d", &case_n); while (case_n--) {
scanf("%f %d", &ff, &m);
v = ;
for (i=; i<=m; ++i) {
scanf("%d %f", &mon[i], &fs[i]);
fs[i] = - fs[i];
v += mon[i];
}
ff = - ff;
memset(dp, , sizeof(dp));
dp[] = ;
for (i=; i<=m; ++i) {
for (j=v; j>=mon[i]; --j) {
dp[j] = mymax(dp[j], dp[j-mon[i]]*fs[i]);
}
/*
for (j=0; j<=v; ++j) {
printf("%f ", dp[j]);
}
printf("\n");
*/
}
for (i=v; i>; --i)
if (dp[i] >= ff)
break;
printf("%d\n", i);
} return ;
}

最新文章

  1. vmware 10 e1000e e1000e_cyclecounter_read 挂机解法
  2. AD10长方形通孔焊盘的画法
  3. 在Centos5下安装GraphicsMagick
  4. Notepad++中的颜色属性大全
  5. [转贴]JAVA:RESTLET开发实例(二)使用Component、Application的REST服务
  6. Codevs_2102_石子归并2_(环状动态规划)
  7. For循环输出一个表格
  8. HDU 1728 逃离迷宫(DFS||BFS)
  9. Qt对ini文件的读写
  10. 【Python之路】第五篇--Python基础之杂货铺
  11. webpack2 项目
  12. this的用法 – JavaScript深入浅出(二)
  13. SaltStack 部署案例 02
  14. [Swift]LeetCode125. 验证回文串 | Valid Palindrome
  15. h5页面避免两个页面反复跳转死循环
  16. 转载 javascript中(function($){...})(jQuery)写法是什么意思
  17. C++ 多态Polymorphism 介绍+动态绑定、静态绑定
  18. Python拷贝文件脚本
  19. js中的Object.seal()与Object.freeze()
  20. 理解if __name__ == &#39;__main__&#39;:

热门文章

  1. web开发学习之旅---css第一天
  2. python tornado+mongodb的使用
  3. javaScripte 创建对象。。
  4. HDU 4706 Children&#39;s Day(简单模拟)
  5. v4l2简介
  6. java中移位运算符:&lt;&lt;、&gt;&gt;和&gt;&gt;&gt;之间的比较
  7. CSS伪类对象before和after的用法
  8. SQL 添加字段和默认值脚本
  9. js 作为属性的变量
  10. MySQL字符串中数字排序的问题