完全背包即物品的数量不收限制,

根据01背包的思想,因为每件物品只能选1个,则要求我们不能依赖已选择物品i的选项的时候,所以需要逆序遍历

则在完全背包问题中,我们需要正序遍历。

此题时要求求出最小价值。

代码如下:

#include <stdio.h>
#include <algorithm>
using namespace std;
#define inf 10000000
#define min(a,b) a<b?a:b
int dp[11000];
int p[600];
int w[600];int main()
{int i,j,k,n,e,f;scanf("%d",&k);while(k--){scanf("%d",&e);scanf("%d",&f);int diff = f - e;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&p[i]);scanf("%d",&w[i]);}//memset(dp,inf,sizeof(dp));//不可以这样初始化for(int i=0;i<=diff;i++)  {  dp[i]=inf;  }  dp[0] = 0;for(i=1;i<=n;i++){for(j=w[i];j<=diff;j++){                dp[j] = min(dp[j],dp[j-w[i]]+p[i]);        }}if(dp[diff] == inf){printf("This is impossible.\n");}else{printf("The minimum amount of money in the piggy-bank is %d.\n",dp[diff]);}}    system("pause");return 0;
}

转载于:https://www.cnblogs.com/yueyanglou/p/5354757.html

完全背包问题 POJ1384相关推荐

  1. poj-1384 Piggy-Bank

    poj-1384 Piggy-Bank 地址:http://poj.org/problem?id=1384 题意: 知道盒子里面的物体的总重量,得到每一种硬币的价格和重量,求最少钱构成盒子物体总重量的 ...

  2. 背包问题(恰好背满 二维背包) 总结

    专题训练:点击打开链接  密码:JXFEACM 他人总结:点击打开链接  背包九讲:点击打开链接 其实核心记住: 背包是组合问题 填充性质 元素之间没关系 1. 01背包(右->左) 恰好装满( ...

  3. ACM1881 01背包问题应用

    01背包问题动态规划应用 acm1881毕业bg 将必须离开的时间限制看作背包容量,先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始(背包容量)到它的延长时间进行遍历: 1 # ...

  4. 算法设计与分析第4章 动态规划(一)【背包问题】

    第3章动态规划(一)[背包问题] 基本思想: 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,但是经分解得到的子问题往往不是互相独立的.不同子问题的数目常常只有多项式量级.在用 ...

  5. c语言-01背包问题

    01背包问题 问题:有N件物品和一个容量为V的背包.第i件物品的费用是c[i],价值是w[i].求解将哪些物品装入背包可使价值总和最大. 分析: 这是最基础的背包问题,特点是:每种物品仅有一件,可以选 ...

  6. 如何在高精度下求解亿级变量背包问题?

    导读:国际顶级会议WWW2020将于4月20日至24日举行.始于1994年的WWW会议,主要讨论有关Web的发展,其相关技术的标准化以及这些技术对社会和文化的影响,每年有大批的学者.研究人员.技术专家 ...

  7. 漫画:阿里巴巴四十大盗的故事-背包问题

    今天,跟大家分享一个我关注了很久的公众号「兔保哥」.这个号是我看着她一点点写起来的,既有财经媒体人的客观严谨,又有身为妈妈的温暖贴心.如果你想用保险的力量守护家庭.为爱人遮风挡雨,可以关注她. --- ...

  8. 背包问题(多重背包+0-1背包)

    一:0-1背包问题 #include<iostream> #include<algorithm> #include<cstring> const int maxn= ...

  9. 三十四、动态规划解决01背包问题

    一.动态规划算法介绍 动态规划算法的核心思想是:将大问题划分为小问题进行解决,从而一步一步获取最优解的处理算法. 动态规划算法与分治算法类似,其基本思想是将待求解的问题分解成若干个子问题,先求子问题, ...

最新文章

  1. matlab振动频谱分析是不是要,VB和Matlab混编实现振动信号的频谱分析
  2. java 重用性_Java开发重用性必备的三大核心知识点
  3. Web移动应用调试工具——Weinre
  4. ARM和NEON指令 very gooooooood.............
  5. 团体程序设计天梯赛-练习集L1-025 正整数A+B (15分)(getline输入)
  6. SQL Server数据库查询速度慢的原因
  7. 51单片机蜂鸣器演奏《我和我的祖国》
  8. NoSQL--Redis
  9. TLS Client-initiated 重协商攻击(CVE-2011-1473)漏洞验证测试
  10. 拉格朗日乘子法(自己总结一些要点)
  11. CSS——web字体与CSS字体图标
  12. Linux入门-1.vim格式设置
  13. unlink-sleepyholder
  14. ROM制作图文教程(详细)
  15. 35个Python实战项目,完整源代码!
  16. OpenGL/OpenGL ES入门:渲染YUV数据实践
  17. SQL Server 2000初识—管理工具与设计基础
  18. $.removeCookie()删除不了cookie,别忘记加这两个参数
  19. 关学生使用计算机心得,关于计算机课的心得体会范文
  20. [SQL]将子查询作为查询条件

热门文章

  1. 最全面的_Redis_基本操作总结
  2. Markdown 学习笔记
  3. java常用类--------File类基本用法
  4. layui 页面保存数据
  5. windows中的oracle12SE后启动的系统服务的列表
  6. python 3列表推导式的的一点理解!
  7. [CSS] .class1.class2和.class1 .class2的区别
  8. android简单的计算器
  9. 在电影里看到的一个小故事
  10. 编译器对私有字段初始化的优化