HDU 1114 完全背包+判断能否装满】的更多相关文章

题意 给出一个存钱罐里的钱币重量 给出可能的n种钱币重量以及价值 求存钱罐中钱币的最小价值 若不可能另有输出 在裸的完全背包上加了一点东西 即判断这个背包能否被装满 初始化 dp[0]=0 其余的都使用for循环设置成INF 以达到求min的目的 最后如果dp[v]还是那么大就说明它根本没有通过前面的方式被改变 即 不能被装满 #include<stdio.h> #include<string.h> #include<algorithm> #include<map…
HDU 1114 Piggy-Bank 完全背包问题. 想想我们01背包是逆序遍历是为了保证什么? 保证每件物品只有两种状态,取或者不取.那么正序遍历呢? 这不就正好满足完全背包的条件了吗 means:给出小猪钱罐的重量和装满钱后的重量,然后是几组数据,每组数据包括每种钱币的价值与重量要求出装满钱罐时的最小价值 #include<cstdio> #include<cstring> #include<cmath> #include<iostream> usin…
其实这道题在寒假自学训练赛的时候就做过,不过感觉现在的理解跟当时真的不一样,大一半年过去了,变了这么多,我们都在进步,一回头便走出了这么远... 好了,题目很简单,一个背包,装不满做一个标记就行了 #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <map> #include <…
问题 J: 天平 时间限制: 1 Sec  内存限制: 128 MB提交: 36  解决: 9[提交][状态][讨论版][命题人:admin] 题目描述 天平的右端放着一件重量为w的物品.现在有n个重量已知的砝码,只允许在左端放砝码的前提下,能否通过砝码判断出物品的重量. (注:这里假设当天平的两端重量不同时天平就会向重的一端倾斜到底!) 输入 输入包含两行,第一行包含两个整数w(1<=w<=1000)和n(1<=n<=1000),w表示物品的重量,n表示砝码的数量. 第二行包含n…
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 18924    Accepted Submission(s): 9579 Problem Description Before ACM can do anything, a budget must be prepared and the necessary finan…
#include<iostream> #include<cstring> using namespace std; const int INF=0x3f3f3f3f; ]; struct node { int p, w; //价值 重量 } no[]; int main() { cin >> t; while(t--) { memset(dp,0x3f,sizeof dp); //e是空存钱罐的重量,f是满存钱罐的重量,n是钱的种数. cin>>e>&…
题目链接: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…
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…
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…
http://acm.hdu.edu.cn/showproblem.php?pid=1114 完全背包的题目,要求输出最小价值.然后一定要把给出的背包重量全部用完. 就是问一个背包为k的大小,n件物品,能装的最小价值,并且一定是用了k个背包容量. 用dp[i]表示背包容量为i得时候,能收录的最小价值, 边界:dp[0] = 0: 没容量,啥都干不了 else dp[i] = inf.一开始初始化为无穷大. 转移的话,dp[i] = min(dp[i], dp[i - weight[j]] + v…