其实这道题在寒假自学训练赛的时候就做过,不过感觉现在的理解跟当时真的不一样,大一半年过去了,变了这么多,我们都在进步,一回头便走出了这么远... 好了,题目很简单,一个背包,装不满做一个标记就行了 #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <map> #include <…
题意: 给定一个存钱罐中要存硬币,知道空罐的重量和欲装满的重量,是否能装入?若能,打印最小价值.(注:能装的硬币重量一定刚刚好,里面的总价值要达到最小) 输入: 包含了T个测试例子,在第一行给出.接下来有T个例子,每个例子第一行包括两整数E和F,分别代表空罐的重量和装满钱的重量,单位都为克. 1 <= E <= F <= 10000. 第二行包含了一个整数N,代表了硬币的种类.(1 <= N <= 500)接下来N行是N种硬币的信息,每行有两个整数P和W,分别代表价值和重量,…
Problem Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is simple. Whenever some ACM member has…
描述: 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w.求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大.本题要求是背包恰好装满背包时,求出最大价值总和是多少.如果不能恰好装满背包,输出NO. 输入: 第一行: N 表示有多少组测试数据(N<7). 接下来每组测试数据的第一行有两个整数M,V. M表示物品种类的数目,V表示背包的总容量.(0<M<=2000,0<V<=50000)接下来的…
Piggy-Bank Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is simple. Whenever some ACM member has any smal…
Piggy-Bank  HDU 1114 初始化的细节问题: 因为要求恰好装满!! 所以初始化要注意: 初始化时除了F[0]为0,其它F[1..V]均设为−∞. 又这个题目是求最小价值: 则就是初始化时除了F[0]为0,其它F[1..V]均设为∞. #include<iostream> #include<stdio.h> #include<algorithm> #include<string.h> using namespace std; const int…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 Piggy-Bank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 32136    Accepted Submission(s): 15965 Problem Description Before ACM can do anythi…
背包2 Time Limit: 2000/1000ms (Java/Others) Problem Description: 有n个重量和价值分别为Wi,Vi的物品,现从这些物品中挑选出总量刚好为 W 的物品,求所有方案中价值总和的最大值. Input: 输入包含多组测试用例,每一例的开头为两位整数 n.W(1<=n<=10000,1<=W<=1000),接下来有 n 行,每一行有两位整数 Wi.Vi(1<=Wi<=10000,1<=Vi<=100). Ou…
HDU 1114 Piggy-Bank 完全背包问题. 想想我们01背包是逆序遍历是为了保证什么? 保证每件物品只有两种状态,取或者不取.那么正序遍历呢? 这不就正好满足完全背包的条件了吗 means:给出小猪钱罐的重量和装满钱后的重量,然后是几组数据,每组数据包括每种钱币的价值与重量要求出装满钱罐时的最小价值 #include<cstdio> #include<cstring> #include<cmath> #include<iostream> usin…
B - Piggy-Bank Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action…
储钱罐 [题目描述] 今年的ACM比赛在xxx国举行,为了比赛的顺利进行,必须提前预算好需要的费用,以及费用的来源.费用的主要来源是只进不出的金钱.其实原理很简单,每当ACM成员有任何一点小钱,他们就会把这些钱全部投进储钱罐.你知道钱投进储钱罐后是无法再取出来的,除非你打碎储钱罐,而这是不允许的.经过一段足够长时间的积累,储钱罐中应该有足够的金钱来支付ACM比赛需要的一切费用. 储钱罐不允许打碎,我们也不能确定里面有多少钱,钱是否够用.不过,我们知道储钱罐以及每种硬币的重量,于是我们可以试着猜测…
Piggy-Bank Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1114 Appoint description:  System Crawler  (2015-09-06) Description Before ACM can do anything, a budget must be prepared and the neces…
Piggy-Bank Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1114 Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income fo…
HDOJ(HDU).1114 Piggy-Bank (DP 完全背包) 题意分析 裸的完全背包 代码总览 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define nmax 100000 #define INF 0x3f3f3f3f using namespace std; int we[nmax],va[nmax],dp[nmax]; stru…
题目链接 Problem Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is simple. Whenever some ACM membe…
分辣条 发布时间: 2016年6月26日 20:36   最后更新: 2016年6月26日 20:37   时间限制: 1000ms   内存限制: 128M 描述 “你喝的酸奶是我买的,辣条也是我买的,你现在要跟我分手,你把我当什么?” “因为你每次分辣条的时候都比我多一根!” 可见分好辣条是一件多么重要的事情.. 现在有n(1<=n<=200)根辣条,每根辣条的重量为a1,a2...ai..an(1<=ai<=100). 那么能不能把这些辣条分为重量相等的两份呢? 输入 输入有…
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16255    Accepted Submission(s): 8192 Problem Description Before ACM can do anything, a budget must be prepared and the necessary finan…
题目地址:HDU 1114 把dp[0]初始化为0,其它的初始化为INF.这样就能保证最后的结果一定是满的,即一定是从0慢慢的加上来的. 代码例如以下: #include <algorithm> #include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> #include <queue> #include <cmath> #incl…
HDOJ(HDU).2159 FATE (DP 带个数限制的完全背包) 题意分析 与普通的完全背包大同小异,区别就在于多了一个个数限制,那么在普通的完全背包的基础上,增加一维,表示个数.同时for循环多写一层即可. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define nmax 105 using namespace std; int dp[…
题意 给出一个存钱罐里的钱币重量 给出可能的n种钱币重量以及价值 求存钱罐中钱币的最小价值 若不可能另有输出 在裸的完全背包上加了一点东西 即判断这个背包能否被装满 初始化 dp[0]=0 其余的都使用for循环设置成INF 以达到求min的目的 最后如果dp[v]还是那么大就说明它根本没有通过前面的方式被改变 即 不能被装满 #include<stdio.h> #include<string.h> #include<algorithm> #include<map…
.,. 最近在看背包九讲 所以就刷了一下背包的题目 这道题目是一个典型的完全背包问题 而且要求满包 在这里 我就简单整理一下背包初始化问题吧 对于没有要求满包的问题 也就是背包可以不取满的问题 在背包初始化的时候 可以全部初始化为0(inf)因为不要求其满包 所以 在求解的过程中 就不用强求从第一个点开始取 而对于满包的问题 则必须是从dp[0]这个有效的点开始存放的 其他都必须初始化为无效状态 因为如果需要满包 则必须从0这个状态开始的后续状态才满足条件 .,. 写的有点乱 借鉴一下其他人的.…
题目大意:              告诉你钱罐的初始重量和装满的重量, 你可以得到这个钱罐可以存放钱币的重量,下面有 n 种钱币, n 组, 每组告诉你这种金币的价值和它的重量,问你是否可以将这个钱罐装满,装满的情况下,输出最小的价值, 不能装满则输出“This is impossible.”(很典型的完全背包的问题)   #include <iostream> #include <cstdio> #include <cstring> #include <alg…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 思路:求出存钱罐装全部装满情况下硬币的最小数量,即求出硬币的最小价值.转换为最小背包的问题. #include<iostream> #include<cstdio> #include<cstring> using namespace std; ; int dp[INF],val[INF],we[INF]; int main(void) { int t,n,i,j,m,…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1114 题意 给出一个储钱罐 不知道里面有多少钱 但是可以通过重量来判断 先给出空储钱罐的重量 再给出装满钱币后储钱罐的重量 之后给出N种货币 pi wi pi 表示 第i件货币的价值 wi 表示第i件货币的重量 最后要求 储钱罐里面最少有多少钱 思路 完全背包模板问题 要注意初始化 因为这个是重量要刚好达到 初始化为 INF dp[0] = 0 AC代码 #include <cstdio> #in…
HDU 1144 Piggy-Bank 题意:有这么个存钱罐,给你空的时候重量和满的时候的重量,再给你N中类型的硬币(给出N种硬币总数量和总重量,可多次使用),问你怎样恰好填满存钱罐,而让填入的硬币数量最少. 思路:完全背包,求最少填入硬币数量,要把dp数组全部填充为INF,求min,注意结果要恰好填满. dp[j]= min(dp[j],dp[j-w[i]]+v[i])(dp[j]代表当前步,所用硬币最小数目) /** Sample Input 3 10 110 2 1 1 30 50 10…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 AC code: #include<bits/stdc++.h> using namespace std; int main() { int c; scanf("%d",&c); while(c--) { ],w[]; scanf("%d%d%d",&e,&f,&n); ; i<n; i++) scanf(&quo…
Shape of HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4972    Accepted Submission(s): 2250 Problem Description 话说上回讲到海东集团推选老总的事情,最终的结果是XHD以微弱优势当选,从此以后,“徐队”的称呼逐渐被“徐总”所取代,海东集团(HDU)也算是名副其实了.…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 简单完全背包,不多说. #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> #include <map> #include <iterator> #include <vector> using namespace std;…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 题目大意:根据储钱罐的重量,求出里面钱最少有多少.给定储钱罐的初始重量,装硬币后重量,和每个对应面值硬币的重量. Sample Input 3 10 110 2 1 1 30 50 10 110 2 1 1 50 30 1 6 2 10 3 20 4   Sample Output The minimum amount of money in the piggy-bank is 60. The…
在 ACM 能够开展之前,必须准备预算,并获得必要的财力支持.该活动的主要收入来自于 Irreversibly Bound Money (IBM).思路很简单.任何时候,某位 ACM 会员有少量的钱时,他将所有的硬币投入到小猪储钱罐中.这个过程不可逆,因为只有把小猪储钱罐打碎才能取出硬币.在足够长的时间之后,小猪储钱罐中有了足够的现金,用于支付 ACM 活动所需的花费. 但是,小猪储钱罐存在一个大的问题,即无法确定其中有多少钱.因此,我们可能在打碎小猪储钱罐之后,发现里面的钱不够.显然,我们希望…