hdu acm 1114 Piggy-Bank 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114
题目意思:给出一个空的猪仔钱ang 的重量E,和一个装满钱的猪仔钱ang 的重量F你,实质上能装入得钱的重量就是F - E。接着有n 种币种,每个币种有两个属性刻画:面值 + 重量。问恰好装满(注意关键词: 恰好)后,需要的钱的最少数量所对应的钱是多少(有点拗口= =。)拿第一组数据来说,
10 110
2
1 1
30 50
我们当然是用两张30 来填满这个只能装100重量的罐啦,如果都用面值为1的货币来装,就需要100张了,显然不够2张好啦。
好啦,回归正题,这道题是完全背包的题目。初始化dp 数组的 INF 一定要好大好大~~~否则会....wa !
有学过的应该都不陌生,如果也像我那样才刚接触,就可以看看dd 大牛(其实我也不知道是谁来滴)的 背包九讲
或者队长给的:http://love-oriented.com/pack/pack2rc.pdf (这人...不知道是不是dd 大牛)
这个是我看得最懂的(反正我是比较笨啦):http://wenku.baidu.com/link?url=yHMBToaaKpk8mRFn0aCCcq02MTyCIjGQ8npyI-XDfkAvkLqNRKpxLkNnJf0s3l-XdZK99XwQZiEZ6hqxFt0WZbRMu3ZaNxdE-1o0ZI4ssq3
还有一个很重要的地方,初始化!!注意是恰好装满,也就不能用 0 来初始化dp 数组,而要用 INF。(dd大牛是有写的,看了还是不太懂为什么这样)
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std; const int maxn = 1e4 + ;
const int INF = ; // 这个INF一定要好大好大好大!!!! int w[maxn], v[maxn];
int dp[maxn]; int main()
{
int T, n, m, E, F;
while (scanf("%d", &T) != EOF)
{
while (T--)
{
scanf("%d%d", &E, &F);
int Maxweight = F - E;
scanf("%d", &n);
for (int i = ; i < n; i++)
scanf("%d%d", &v[i], &w[i]);
for (int i = ; i <= Maxweight; i++)
dp[i] = INF;
dp[] = ;
for (int i = ; i < n; i++)
{
for (int j = w[i]; j <= Maxweight; j++)
{
dp[j] = min(dp[j], dp[j-w[i]]+v[i]); // 选取币值最少的
}
}
if (dp[Maxweight] != INF)
printf("The minimum amount of money in the piggy-bank is %d.\n", dp[Maxweight]);
else
printf("This is impossible.\n");
}
}
return ;
}
hdu acm 1114 Piggy-Bank 解题报告的更多相关文章
- ACM: Just a Hook 解题报告 -线段树
E - Just a Hook Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u D ...
- 北大ACM试题分类+部分解题报告链接
转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意&q ...
- hdu 1556.Color the ball 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556 题目意思:有 n 个气球从左到右排成一排,编号依次为1,2,3,...,n.给出 n 对 a, ...
- hdu 1160 FatMouse's Speed 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160 题目意思:给出一堆老鼠,假设有 n 只(输入n条信息后Ctrl+Z).每只老鼠有对应的weigh ...
- hdu 1213 How Many Tables 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213 有关系(直接或间接均可)的人就坐在一张桌子,我们要统计的是最少需要的桌子数. 并查集的入门题,什 ...
- hdu 1272 小希的迷宫 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272 第二条并查集,和畅通工程的解法类似.判断小希的迷宫不符合条件,即有回路.我的做法是,在合并两个集 ...
- hdu 1022 Train Problem I 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022 又是一道栈的练习,这次也是没有用到STL中的栈来实现.用来保存操作过程的数组(process[] ...
- hdu 1166 敌兵布阵 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题目意思:给出 N 个数你,通过对某些数进行更改(或者 + 或者 -),当输入的是 Query ...
- hdu 1548 A strange lift 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548 题目意思:给出 n 个 floor 你,每个floor 有一个数k,按下它可以到达 floor ...
随机推荐
- 【Codeforces Round #505 (Div. 1 + Div. 2) 】
A:https://www.cnblogs.com/myx12345/p/9843966.html B: C:https://www.cnblogs.com/myx12345/p/9844084.ht ...
- CentOS yum update 与 yum upgrade 区别
yum -y update 升级所有包同时也升级软件和系统内核 yum -y upgrade 只升级所有包,不升级软件和系统内核 官方文档:https://access.redhat.com/docu ...
- Google代码风格配置文件(Java)(IDEA/Eclipse)
官网:http://www.cnblogs.com/EasonJim/p/7837474.html 下载: 安装: IDEA/Eclipse导入相应文件即可. 说明: Google代码风格文件的缩进是 ...
- 虽然今天angular5发布了,但我还是吧这篇angularjs(1)+webpack的文章发出来吧哈哈哈
本文为原创,转载请注明出处: cnzt 文章:cnzt-p http://www.cnblogs.com/zt-blog/p/7779384.html 写在前面: 因为最近总结自己之前做过 ...
- iOS 内存管理策略
内存管理策略(memory Management Policy) NSObject protocol中定义的的方法和标准命名惯例一起提供了一个引用计数环境,内存管理的基本模式处于这个环境中.NSObj ...
- reason: '*** setObjectForKey: object cannot be nil (key: 1)'-crash!
[self.imageDownloadsInProgress setObject:iconDownloader forKey:[NSNumber numberWithInteger:tag]]; 字典 ...
- MySQL安装总是失败,提示缺少Visual Studio 2013 Redistributable
MySQL安装总是失败,提示缺少Visual Studio 2013 Redistributable,但是很疑惑,我明明已经安装了呀,原来问题出在版本上,以下提供了一个可以匹配新版本mysql的版本: ...
- pycharm索引index时间很长的原因
pycharm进行索引index的目的时代码自动补全,当引入新的插件时,就会增加索引时间,插件越多,索引时间越长 没有好的解决办法,除非增加硬件:或者不使用代码自动补全功能
- OD调试器调试Delphi程序按钮事件断点方法
这几天我调试一个Delphi程序,总是无法断点按钮事件,像我这样的菜鸟断点按钮事件真心累啊.所以我分享一下我下断点的经验!希望新手们少走弯路!! 工具/原料 OD调试器 Delphi程序 方法 ...
- BUPT复试专题—字符串转换(2013计院)
题目描述 我们将仅由若干个同一小写字母构成的字符串称之为简单串,例如"aaaa"是一个简单串,而"abcd"则不是简单串.现在给你一个仅由小写字母组成的字符串, ...