poj-1384 Piggy-Bank
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相关推荐
- 动态规划 背包问题小结 0-1背包(采药 九度第101题) 完全背包(Piggy-Bank POJ 1384) 多重背包(珍惜现在,感恩生活 九度第103题)
本小结介绍0-1背包.完全背包以及多重背包问题 记忆要点: 0-1背包:二维数组情况下,顺序遍历体积或者倒序均可以 降维情况下需倒序遍历体积 完全背包:数组降维+顺序遍历 ...
- Piggy-Bank 【POJ - 1384】
题目链接 DHU 1384 题目大意 有一个存钱罐空的时候的重量是a,装满的时候重量是b,现在有n种硬币,这n种硬币每种的数量都有无限多个,每个硬币有两个值,一个是硬币的重量和价值,问你当存钱罐装满的 ...
- 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背包问题是一样的,只不过第二个循环的顺序不一样 ...
- Piggy-Bank POJ - 1384(完全背包+背包放满)
题意: 给出一个存钱罐的重量和没存钱之前存钱罐的重量,然后给出几种硬币的重量和币值,计算存钱罐里至少有多少钱. 题目: Before ACM can do anything, a budget mus ...
- POJ 1384 Piggy-Bank 背包DP
所谓的全然背包,就是说物品没有限制数量的. 怎么起个这么intimidating(吓人)的名字? 事实上和一般01背包没多少差别,只是数量能够无穷大,那么就能够利用一个物品累加到总容量结尾就能够了. ...
- java实现动态规划算法解决存钱罐问题(piggy bank)
一.实验目的 练习使用动态规划算法解决实际问题(使用Java语言实现) 二.实验内容 [问题描述] 给定一个空存钱罐的重量和这个存钱罐最多能装进去的重量,现在需要在不打破这个存钱罐的情况下猜测里面最少 ...
- piggy bank 完全背包
题目描述 Before ACM can do anything, a budget must be prepared and the necessary financial support obtai ...
- poj 1384 Piggy-Bank 多重背包问题
题目:点击打开链接 题意:小猪存钱罐,知道一些钱币的总重量,和这些钱币的币值以及单个重量,问这些钱最少是多少? 分析:很明显的一道多重背包问题,dp[v],表示重量为i的钱的币值和,对于达不到给定那个 ...
- 独家 | 人工神经网络中发现了人类大脑拥有的多模态神经元(附链接)
作者:Gabriel Goh, Chelsea Voss, Daniela Amodei, Shan Carter, Michael Petrov, Justin Jay Wang, Nick Cam ...
- 一步步学习如何安装并使用SAP HANA Express Edition
使用Jerry这篇文章在Google Cloud platform上的Kubernetes集群部署HANA Express里介绍的方法在Google Cloud Platform的Kubernetes ...
最新文章
- BagNet超越 AlexNet,在ImageNet 上实现最先进结果!
- 项目支出数据产生过程
- AngularJS 无限滚动加载数据控件 ngInfiniteScroll
- STL--lower_bound()upper_bound();
- Maven精选系列--标准目录结构
- 权限丢失_不要让任何“账户权限”问题困扰你!
- 文件操作(stat)
- mybatis文件中SQL总结
- 数据有为 智在决策 | 观远数据2019智能决策峰会圆满落幕
- 26.1-2 知识产权与标准规范(标准规范)
- 马杰花总刘韧对话:机器人服务是元宇宙虚拟与现实的链接
- 路由器技术彻底解决路由器IP地址冲突问题
- CAN总线学习笔记 | CAN盒测试STM32的CAN中断接收
- java maincase 电影票的售卖与购买 day10-11
- 给代币添加高级功能-代币管理、增发、兑换、冻结等
- 最常见的20道jQuery经典面试题
- oracle 嵌套 哈希,Oracle-三种联接方法(哈希连接、嵌套连接、笛卡儿乘积)
- 为远程桌面Ubuntu配置固定的公网TCP端口地址【内网穿透】
- (转)使用自定义行为扩展 WCF
- 0521-Hadoop命令无法访问HDFS路径诡异问题解决
热门文章
- 大工18秋《计算机网络技术》在线作业1,大工18秋《专业英语(计算机英语)》在线作业3【标准答案】...
- linux下修改ssh默认的连接端口及禁止root远程连接等
- python【数据结构与算法】Graph(图)的总结
- Android移动开发之【Android实战项目】剑走偏锋-得会导入别人的Android Studio项目!
- AttributeError: module ‘cv2‘ has no attribute ‘SIFT‘
- U-net进行图像分割
- 使用keras时下载VGG19过慢的解决方法
- keil debug如何在watch直接修改变量值_printf系列教程03_SWO打印输出配置,基于Keil『Debug(printf)Viewer』...
- python简单爬虫入门一_Python简单爬虫入门二
- spring boot中修改默认端口号