动态规划--多重背包
focus_best
这个作者很懒,什么都没留下…
展开
-
HDU 2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
HDU 2191悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包) http://acm.hdu.edu.cn/showproblem.php?pid=2191 题意: 假设你有资金n元, 然后有m种大米, 每种大米价格为cost[i], 重量为val[i], 数量为num[i]. 现在问你用n元钱最多能买多重的大米? 分析: 本题是典型的多重背包问题. 我们令dp[i][j]==x表示只购买前i种大米, 且总费用<=j时能购买的大米最大重量为x.原创 2014-10-28 19:45:40 · 1174 阅读 · 0 评论 -
HDU 3732 Ahui Writes Word(多重背包)
HDU 3732 Ahui Writes Word(多重背包) http://acm.hdu.edu.cn/showproblem.php?pid=3732 题意: 初始有N个物品, 每个物品有cost[i]花费和val[i]价值, 你有m元钱, 现在问你最多能买多少总价值的物品? 其中N<=10W, m<=1W. 且cost[i]和val[i]都在[0,10]范围. 分析: 本题初看直接用01背包来做是直观的想法. 但是考虑到01背包的复杂度为O(N*m), 这么原创 2014-10-29 11:29:31 · 1333 阅读 · 0 评论 -
POJ 1276 Cash Machine(多重背包)
POJ 1276 Cash Machine(多重背包) http://poj.org/problem?id=1276 题意: 有n种货币, 其面值和数量分别为val[i]和num[i]. 现在给出一个m值, 问你由上面的货币能构成的最大的且不超过m的金额是多少? 分析: 明显的多重背包问题. 令dp[i][j]==x表示用前i种货币能构成的<=j面值的金钱的最大值为x. 初始化: dp为全0. 我们对第i种物品进行分情况处理:原创 2014-10-29 15:51:44 · 1000 阅读 · 0 评论 -
HDU 1059 Dividing(多重背包)
HDU 1059 Dividing(多重背包) http://acm.hdu.edu.cn/showproblem.php?pid=1059 题意: 现在有价值为1,2,3,4,5,6的6种物品, 它们的数量为num[i]( 1<=i<=6 )个. 现在要问的是能否把所有的的物品分成两份且这两份物品的价值总和相同 ? 分析: 首先我们求出所有物品的价值和sum_val, 如果sum_val是奇数, 那么明显不能分. 那么sum_val为偶时, 我们令m=sum_val/2. 我能原创 2014-10-28 19:19:11 · 1122 阅读 · 0 评论 -
HDU 2844 Coins(多重背包)
HDU Coins(多重背包) http://acm.hdu.edu.cn/showproblem.php?pid=2844 题意: 现在有价值val[1],val[2],…val[n]的n种硬币, 它们的数量分别为num[i]个. 然后给你一个m, 问你区间[1,m]内的所有数目, 由之前n种硬币来构造(即选取某些硬币使得这些硬币的价值和等于[1,m]区间的特定数), 最多能构造出这m个数中的多少个? 分析: 基本的完全背包问题. 我们令dp[i][j]==x表示原创 2014-10-28 19:48:08 · 1240 阅读 · 2 评论 -
POJ 2392 Space Elevator(贪心+多重背包)
POJ 2392 Space Elevator(贪心+多重背包) http://poj.org/problem?id=2392 题意: 题意:给定n种积木,每种积木都有一个高度h[i],一个数量num[i],还有一个限制条件,这个积木所在的位置不能高于limit[i],问能叠起的最大高度? 分析: 本题是一道多重背包问题, 不过每个物品的选择不仅仅要受该种物品的数量num[i]限制, 且该物品还受到limit[i]的限制. 这里有一个贪心的结论: 我们每次背包选取物原创 2014-10-29 15:07:40 · 1357 阅读 · 0 评论 -
HDU 3591 The trouble of Xiaoqian(多重背包+完全背包)
HDU 3591 The trouble of Xiaoqian(多重背包+01背包) http://acm.hdu.edu.cn/showproblem.php?pid=3591 题意: 有一个具有n种货币的货币系统, 每种货币的面值为val[i]. 现在小杰手上拿着num[1],num[2],…num[n]个第1种,第2种…第n种货币去买价值为T(T<=20000)的商品, 他给售货员总价值>=T的货币,然后售货员(可能,如果小杰给的钱>T, 那肯定找钱)找钱给他. 售货员每次总是用最少的原创 2014-10-29 10:29:24 · 1374 阅读 · 1 评论 -
POJ 3260 The Fewest Coins(多重背包+完全背包)
POJ 3260 The Fewest Coins(多重背包+完全背包) http://poj.org/problem?id=3260 题意: John要去买价值为m的商品. 现在的货币系统有n种货币,对应面值为val[1],val[2]…val[n]. 然后他身上每种货币有num[i]个. John必须付给售货员>=m的金钱, 然后售货员会用最少的货币数量找钱给John. 问你John的交易过程中, 他给售货员的货币数目+售货员找钱给他的货币数目 的和最小值是多少? 分析: 本题原创 2014-10-30 11:29:03 · 1344 阅读 · 0 评论