HDU 1114 Piggy-Bank(动态规划、完全背包)
Piggy-Bank
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 42725 Accepted Submission(s): 21075
Problem Description
But there is a big problem with
piggy-banks. It is not possible to determine how much money is inside.
So we might break the pig into pieces only to find out that there is not
enough money. Clearly, we want to avoid this unpleasant situation. The
only possibility is to weigh the piggy-bank and try to guess how many
coins are inside. Assume that we are able to determine the weight of the
pig exactly and that we know the weights of all coins of a given
currency. Then there is some minimum amount of money in the piggy-bank
that we can guarantee. Your task is to find out this worst case and
determine the minimum amount of cash inside the piggy-bank. We need your
help. No more prematurely broken pigs!
Input
input consists of T test cases. The number of them (T) is given on the
first line of the input file. Each test case begins with a line
containing two integers E and F. They indicate the weight of an empty
pig and of the pig filled with coins. Both weights are given in grams.
No pig will weigh more than 10 kg, that means 1 <= E <= F <=
10000. On the second line of each test case, there is an integer number N
(1 <= N <= 500) that gives the number of various coins used in
the given currency. Following this are exactly N lines, each specifying
one coin type. These lines contain two integers each, Pand W (1 <= P
<= 50000, 1 <= W <=10000). P is the value of the coin in
monetary units, W is it's weight in grams.
Output
exactly one line of output for each test case. The line must contain
the sentence "The minimum amount of money in the piggy-bank is X." where
X is the minimum amount of money that can be achieved using coins with
the given total weight. If the weight cannot be reached exactly, print a
line "This is impossible.".
Sample Input
Sample Output
The minimum amount of money in the piggy-bank is .
The minimum amount of money in the piggy-bank is .
This is impossible.
题目大意与分析
给出存钱罐空的时候的重量与装满的时候的重量,再给出几种货币的面值和重量,求装满的时候,面值最少是多少
很明显的完全背包,两个重量相减是背包容量,货币的面值是价值,货币重量是代价 唯一需要注意的是必须要正好装满,装不满的都要输出 "This is impossible."
代码
#include<bits/stdc++.h> using namespace std; long long int x,y,v,dp[],t,i,n,j; int main()
{
cin>>t;
while(t--)
{
cin>>x>>y;
v=y-x;
for(i=;i<=v;i++)
dp[i]=;
cin>>n;
dp[]=;
for(i=;i<=n;i++)
{
cin>>x>>y;
for(j=y;j<=v;j++)
{
dp[j]=min(dp[j],dp[j-y]+x);
}
}
if(dp[v]!=)
cout<<"The minimum amount of money in the piggy-bank is "<<dp[v]<<"."<<endl;
else
cout<<"This is impossible."<<endl;
}
}
HDU 1114 Piggy-Bank(动态规划、完全背包)的更多相关文章
- HDU 1114(没有变形的完全背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 Piggy-Bank Time Limit: 2000/1000 MS (Java/Others ...
- HDU 1114:Piggy-Bank(完全背包)
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- hdu 1114需要装满的完全背包 重点是背包初始化的问题
.,. 最近在看背包九讲 所以就刷了一下背包的题目 这道题目是一个典型的完全背包问题 而且要求满包 在这里 我就简单整理一下背包初始化问题吧 对于没有要求满包的问题 也就是背包可以不取满的问题 在背包 ...
- HDU 2546.饭卡-动态规划0-1背包
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- HDOJ(HDU).1114 Piggy-Bank (DP 完全背包)
HDOJ(HDU).1114 Piggy-Bank (DP 完全背包) 题意分析 裸的完全背包 代码总览 #include <iostream> #include <cstdio&g ...
- HDU 1114 完全背包 HDU 2191 多重背包
HDU 1114 Piggy-Bank 完全背包问题. 想想我们01背包是逆序遍历是为了保证什么? 保证每件物品只有两种状态,取或者不取.那么正序遍历呢? 这不就正好满足完全背包的条件了吗 means ...
- Piggy-Bank(HDU 1114)背包的一些基本变形
Piggy-Bank HDU 1114 初始化的细节问题: 因为要求恰好装满!! 所以初始化要注意: 初始化时除了F[0]为0,其它F[1..V]均设为−∞. 又这个题目是求最小价值: 则就是初始化 ...
- HDU 1114 Piggy-Bank(一维背包)
题目地址:HDU 1114 把dp[0]初始化为0,其它的初始化为INF.这样就能保证最后的结果一定是满的,即一定是从0慢慢的加上来的. 代码例如以下: #include <algorithm& ...
- hdu 1114 dp动规 Piggy-Bank
Piggy-Bank Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit S ...
随机推荐
- 在神经网络中weight decay
weight decay(权值衰减)的最终目的是防止过拟合.在损失函数中,weight decay是放在正则项(regularization)前面的一个系数,正则项一般指示模型的复杂度,所以weigh ...
- wx小程序知识点(八)
八.小程序的优劣势 优势: ① 不需要下载 ② 打开速度快 ③ 开发成本低 ④ 安卓上可以添加在桌面,与原生 App 相似 ⑤ 小程序的发布审查流程比较严格,安全保障 劣势: ① 页面大小不能 ...
- JSONArray排序和倒转
JSONArray排序 // JSONArray转list List<JSONObject> list = JSONArray.parseArray(ordersDataArray.toJ ...
- BZOJ 3589: 动态树 树链剖分+线段树+树链的并
利用树剖序的一些性质~ 这个题可以出到 $\sum k=10^5$ 左右. 做法很简单:每次暴力跳重链,并在线段树上查询链和. 查询之后打一个标记,把加过的链都置为 $0$.这样的话在同一次询问时即使 ...
- Nowcoder Two Graphs ( 图的同构 )
题目链接 题意 : 给出两幅顶点数一样的图 G1.G2 ,现在要求在 G2 中选出一些边集.使之构成一幅新的图 G ,要求 G 要与 G1 同构,现在要你统计合法的 G 有多少种 分析 : 图的同构 ...
- Python GUI教程(六):使用Qt设计师进行窗口布局
本篇介绍使用qt设计师进行GUI窗口的布局管理,主要包含以下内容: 使用Qt设计师布局我们的窗口部件: 垂直布局: 水平布局: 网格布局: 使用间隔: 使用“伙伴”将label标签与窗口部件进行连接. ...
- 【转】diamond专题(四)—— 容灾机制
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- 2019Java第十三周课程总结
这周主要是学习了监听器还有制作记事本,主要可以由一下代码来体现 监听器 实验代码 package text12; import java.awt.Container; import java.awt. ...
- 【攻克RabbitMQ】常见问题
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zlt995768025/article/ ...
- 如何限制修改IP地址;如何禁止显示的本地连接属性
现在很多单位都配置了局域网,为了便于进行网络管理,同时为了提高的登录网络的速度,网管人员一般都为局域网中的每台电脑都指定了IP地址.但是在windows环境下其他用户很容易修改IP地址配置,这样就很容 ...