poj-1384 Piggy-Bank 地址:http://poj.org/problem?id=1384

题意:

知道盒子里面的物体的总重量,得到每一种硬币的价格和重量,求最少钱构成盒子物体总重量的钱的数量。

分析:

典型的不限重背包问题。当然维度也是在可以接受的范围, 直接设置dp数组进行min操作。

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
using namespace std;
const int maxn = 505;
const int max_val = 10000; int E,F, n, dp[max_val+5]; struct Node{int p,w;
}nd[maxn]; int cmp(const void* a, const void* b){Node* aa = (Node *)a; Node* bb = (Node *)b; return (bb->w*1.0)/(bb->p*1.0) - (aa->w*1.0)/(aa->p*1.0);
}int main(){freopen("in.txt", "r", stdin); int test_num, i, j; scanf("%d", &test_num); while(test_num--){scanf("%d %d", &E, &F); scanf("%d", &n); for(i=0; i<n; i++){scanf("%d %d", &nd[i].p, &nd[i].w); }memset(dp, 0x3f3f3f3f, sizeof(dp));  dp[0] = 0; for(i=0; i<n; i++){for(j=nd[i].w; j<=(F-E); j++){if(dp[j - nd[i].w] != 0x3f3f3f3f ){dp[j] = min(dp[j-nd[i].w]+nd[i].p, dp[j]); }}}if(dp[F-E] == 0x3f3f3f3f){printf("This is impossible.\n");}else{printf("The minimum amount of money in the piggy-bank is %d.\n", dp[F-E]);}}return 0;
}

转载于:https://www.cnblogs.com/zhang-yd/p/5811805.html

poj-1384 Piggy-Bank相关推荐

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

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

  2. Piggy-Bank 【POJ - 1384】

    题目链接 DHU 1384 题目大意 有一个存钱罐空的时候的重量是a,装满的时候重量是b,现在有n种硬币,这n种硬币每种的数量都有无限多个,每个硬币有两个值,一个是硬币的重量和价值,问你当存钱罐装满的 ...

  3. poj 1384 完全背包

    记住这个公式就OK了.for i=1..N for v=w[i]..V f[v]=max{f[v],f[v-w[i]]+v[i]}.这样就转换成为了0/1背包问题是一样的,只不过第二个循环的顺序不一样 ...

  4. Piggy-Bank POJ - 1384(完全背包+背包放满)

    题意: 给出一个存钱罐的重量和没存钱之前存钱罐的重量,然后给出几种硬币的重量和币值,计算存钱罐里至少有多少钱. 题目: Before ACM can do anything, a budget mus ...

  5. POJ 1384 Piggy-Bank 背包DP

    所谓的全然背包,就是说物品没有限制数量的. 怎么起个这么intimidating(吓人)的名字? 事实上和一般01背包没多少差别,只是数量能够无穷大,那么就能够利用一个物品累加到总容量结尾就能够了. ...

  6. java实现动态规划算法解决存钱罐问题(piggy bank)

    一.实验目的 练习使用动态规划算法解决实际问题(使用Java语言实现) 二.实验内容 [问题描述] 给定一个空存钱罐的重量和这个存钱罐最多能装进去的重量,现在需要在不打破这个存钱罐的情况下猜测里面最少 ...

  7. piggy bank 完全背包

    题目描述 Before ACM can do anything, a budget must be prepared and the necessary financial support obtai ...

  8. poj 1384 Piggy-Bank 多重背包问题

    题目:点击打开链接 题意:小猪存钱罐,知道一些钱币的总重量,和这些钱币的币值以及单个重量,问这些钱最少是多少? 分析:很明显的一道多重背包问题,dp[v],表示重量为i的钱的币值和,对于达不到给定那个 ...

  9. 独家 | 人工神经网络中发现了人类大脑拥有的多模态神经元(附链接)

    作者:Gabriel Goh, Chelsea Voss, Daniela Amodei, Shan Carter, Michael Petrov, Justin Jay Wang, Nick Cam ...

  10. 一步步学习如何安装并使用SAP HANA Express Edition

    使用Jerry这篇文章在Google Cloud platform上的Kubernetes集群部署HANA Express里介绍的方法在Google Cloud Platform的Kubernetes ...

最新文章

  1. BagNet超越 AlexNet,在ImageNet 上实现最先进结果!
  2. 项目支出数据产生过程
  3. AngularJS 无限滚动加载数据控件 ngInfiniteScroll
  4. STL--lower_bound()upper_bound();
  5. Maven精选系列--标准目录结构
  6. 权限丢失_不要让任何“账户权限”问题困扰你!
  7. 文件操作(stat)
  8. mybatis文件中SQL总结
  9. 数据有为 智在决策 | 观远数据2019智能决策峰会圆满落幕
  10. 26.1-2 知识产权与标准规范(标准规范)
  11. 马杰花总刘韧对话:机器人服务是元宇宙虚拟与现实的链接
  12. 路由器技术彻底解决路由器IP地址冲突问题
  13. CAN总线学习笔记 | CAN盒测试STM32的CAN中断接收
  14. java maincase 电影票的售卖与购买 day10-11
  15. 给代币添加高级功能-代币管理、增发、兑换、冻结等
  16. 最常见的20道jQuery经典面试题
  17. oracle 嵌套 哈希,Oracle-三种联接方法(哈希连接、嵌套连接、笛卡儿乘积)
  18. 为远程桌面Ubuntu配置固定的公网TCP端口地址【内网穿透】
  19. (转)使用自定义行为扩展 WCF
  20. 0521-Hadoop命令无法访问HDFS路径诡异问题解决

热门文章

  1. 大工18秋《计算机网络技术》在线作业1,大工18秋《专业英语(计算机英语)》在线作业3【标准答案】...
  2. linux下修改ssh默认的连接端口及禁止root远程连接等
  3. python【数据结构与算法】Graph(图)的总结
  4. Android移动开发之【Android实战项目】剑走偏锋-得会导入别人的Android Studio项目!
  5. AttributeError: module ‘cv2‘ has no attribute ‘SIFT‘
  6. U-net进行图像分割
  7. 使用keras时下载VGG19过慢的解决方法
  8. keil debug如何在watch直接修改变量值_printf系列教程03_SWO打印输出配置,基于Keil『Debug(printf)Viewer』...
  9. python简单爬虫入门一_Python简单爬虫入门二
  10. spring boot中修改默认端口号