Sample Input

735 3  4 125  6 5  3 350
633 4  500 30  6 100  1 5  0 1
735 0
0 3  10 100  10 50  10 10

Sample Output

735
630
0
0

题意:你的银行卡里有 cash 元,而ATM机里有 n 种面值的钱,n行每种钱的数量和面值。  问 最多能从这台ATM机里取出多少钱。

裸的完全背包可是我居然写错了。。。。在当前物品的数量*价值 大于等于 背包容量时,就可以将当前物品的数量视作无限,for循环的时候就从小到大正序遍历。 小于等于的时候 就将物品数量转换成二进制下的01背包 这里是01背包!!!

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;int cash, n;
int c[15],w[15];
int dp[100005];void CompletePack(int c,int w){if(c*w>=cash){ // 完全背包for(int j=w;j<=cash;j++)dp[j] = max(dp[j],dp[j-w]+w);}else {  // 多次01背包int k = 1;while(k<c){for(int j=cash;j>=w*k;j--)dp[j] = max(dp[j],dp[j-w*k]+w*k);c -= k;k <<= 1;}for(int j=cash;j>=w*c;j--)dp[j] = max(dp[j],dp[j-w*c]+w*c);}
}
int main(){while(scanf("%d%d",&cash,&n)!=EOF){memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){scanf("%d%d",&c[i],&w[i]);}for(int i=0;i<n;i++){CompletePack(c[i],w[i]);}printf("%d\n",dp[cash]);}return 0;
}

View Code


转载于:https://www.cnblogs.com/kongbb/p/10939431.html

POJ 1276 完全背包相关推荐

  1. poj 1276 多重背包

    735 3 4 125 6 5 3 350 //735的最大额,3种,4个125,6个5,3个350 633 4 500 30 6 100 1 5 0 1 735 0 0 3 10 100 10 50 ...

  2. poj 1276 多重背包

    #include <iostream> using namespace std; int cash, n, m[13], d[13]; int f[100100]; int money, ...

  3. POJ 1276 ATM凑钱(动态规划)(未解答)

    文章目录 1. 题目 1.1 题目链接 1.2 题目大意 1.3 解题思路 2. 代码 2.1 Accepted代码 1. 题目 1.1 题目链接 http://poj.org/problem?id= ...

  4. 动态规划 背包问题小结 0-1背包(采药 九度第101题) 完全背包(Piggy-Bank POJ 1384) 多重背包(珍惜现在,感恩生活 九度第103题)

    本小结介绍0-1背包.完全背包以及多重背包问题 记忆要点: 0-1背包:二维数组情况下,顺序遍历体积或者倒序均可以                降维情况下需倒序遍历体积 完全背包:数组降维+顺序遍历 ...

  5. POJ 2062 完全背包

    题目在http://poj.org/problem?id=2063上一篇文章练习了一个完全背包问题,这里又做了一个意图在于巩固吧,正所谓孰能生巧. 题目大概的意思是说: 一共有M元钱,用于做N年的投资 ...

  6. poj 2063完全背包

    题意:给出总资金和投资年份 ,n个股票 给出股票价格和其一年的利润.问如何选择能获得最大利润. 思路:股票可以重复选择,完全背包问题,完全背包也是从01背包衍生而行的,其主要区别在于中间那层循环的次序 ...

  7. POJ 3260 多重背包+完全背包

    前几天刚回到家却发现家里没网线 && 路由器都被带走了,无奈之下只好铤而走险尝试蹭隔壁家的WiFi,不试不知道,一试吓一跳,用个手机软件简简单单就连上了,然后在浏览器输入192.168 ...

  8. POJ 1155 TELE 背包型树形DP 经典题

    由电视台,中转站,和用户的电视组成的体系刚好是一棵树 n个节点,编号分别为1~n,1是电视台中心,2~n-m是中转站,n-m+1~n是用户,1为root 现在节点1准备转播一场比赛,已知从一个节点传送 ...

  9. POJ 1276 Cash Machine

    很容易看出来是一个背包问题,开始把每一张钞票都跑了一遍01背包,直接TLE了. 其实就是多重背包模板题. 1 //#include <bits/stdc++.h> 2 #include & ...

最新文章

  1. Luogu P1082 同余方程(NOIP 2012) 题解报告
  2. iscroll动态加载数据完美解决方案
  3. 【转】python 和 cx_Oracle 的使用
  4. Android 开发笔记“关闭默认键盘”
  5. java nio 缓冲区(一)
  6. 【分享】学长的安利来了~~O(∩_∩)O
  7. 免费下载全球SRTM高程数据(hgt格式)
  8. 聚类算法小结(1)——K均值聚类算法
  9. mysqldump导出数据备份 --set-gtid-purged=OFF(简明!!)
  10. Mac VMWare键盘鼠标失灵
  11. 《Python安全攻防:渗透测试实战指南》配套技术讲解
  12. 考题篇(6.2) 05 ❀ FortiGate ❀ Fortinet 网络安全专家 NSE 4
  13. 生成sign(签名),以及校验工具类
  14. C语言学习笔记(kk-zkx)
  15. LED技术50年秘史回顾:从指示灯到街灯
  16. 美团/饿了么外卖CPS联盟返利公众号小程序核心源码
  17. 解决Chrome和Chrome内核edge浏览器在启用硬件加速后颜色异常的问题
  18. C# 模拟鼠标移动和点击(转载)
  19. rk3399性能_(三)感知与大脑——5.机器人大脑嵌入式主板性能对比
  20. “大姨吗”创始人柴可:“慢就是快”

热门文章

  1. java学习(108):StringBuilder连接字符串和删除操作
  2. 项目管理(6):备战pmp
  3. Python time sleep()方法
  4. 怎样用php写入数据库表,PHP如何将数据写入到MYSQL数据库
  5. GIT提交的时候出现 ! [rejected] master -> master (non-fast-forward)错误
  6. JS之返回字符串最后出现的位置lastIndexOf
  7. 安装ipython失败 in error catcher_疯狂的Python:零基础小白入门帖子详情 - 网易云课堂...
  8. element中select默认选中第一个_探索在网页中使用“标注”
  9. mybatis generator生成example_[Springboot系列] SpringBoot与Mybatis结合
  10. Nginx的应用之安装配置