![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法----背包问题
sunlanchang
北京邮电大学-计算机硕士,sunlanchang@bupt.edu.cn
展开
-
LeetCode 322. 零钱兑换(完全背包 最小包)
Description给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出...原创 2019-10-28 15:49:55 · 358 阅读 · 0 评论 -
背包问题模板
参考:知乎原创 2019-10-28 14:43:07 · 203 阅读 · 0 评论 -
LeetCode 416. 分割等和子集(01背包)
Description给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11]. 示例 2:输入: [1, 2, 3, 5]输出: false解...原创 2019-10-28 14:41:14 · 381 阅读 · 0 评论 -
牛客网 最小邮票数(01背包变形、清华机试)
题目描述有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可。输入描述:有多组数据,对于每组数据,首先是要求凑成的邮票总值M,M<100。然后是一个数N,N〈20,表示有N张邮票。接下来是N个正整数,分别表示这N张邮票的面值,且以升序排列。输出描述:对于每组数据,能够凑...原创 2019-03-14 15:50:55 · 191 阅读 · 0 评论 -
牛客网 整数拆分(完全背包、清华机试)
题目描述一个整数总可以拆分为2的幂的和,例如: 7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 总共有六种不同的拆分方式。 再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。 用f(n)表示n的不同拆分的种数,例如f(7)=6. 要求编写程序,读入n...原创 2019-03-01 20:43:44 · 578 阅读 · 1 评论 -
HDU - 1114 Piggy-Bank(完全背包板题)
Description小盆友通过往猪猪存钱罐里放钱的方式攒钱做事。存钱罐除非砸坏,否则无法把钱取出。为了知道是否攒了足够的钱,对存钱罐称重。然后告诉每种钱币的重量和价值,问存钱罐里最少可能有多少钱。Sample Input310 11021 130 5010 11021 150 301 6210 320 4Sample OutputThe minimum amou...原创 2019-01-31 12:20:17 · 188 阅读 · 0 评论 -
OpenJ_Bailian - 2773 采药(01背包板题)
Description辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值...原创 2019-01-30 21:00:28 · 306 阅读 · 0 评论 -
01背包问题(两种状态)UVa-12563 - Jin Ge Jin Qu hao
原题 https://vjudge.net/problem/UVA-12563对于每移动一步都有两种状态,创建了两个数组来维护状态进行状态转移,也可用一个结构体,这两种状态为结构体的成员函数类似于http://blog.csdn.net/u013480600/article/details/40376143的思路#include <iostream>#include <cstring>#incl原创 2017-05-22 22:06:44 · 418 阅读 · 1 评论 -
Nyist 311 (完全背包)
描述直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO输入第一行: N 表示有多少组测试数据(N<7)。 接下来每组测试数据的第一行有两个整数M,V。 M表示物品种类的数目,V原创 2017-07-17 15:22:46 · 241 阅读 · 0 评论 -
HDU 2602 Bone Collector (01背包)
原题: http://acm.hdu.edu.cn/showproblem.php?pid=2602 使用一个滚动数组实现 1. 注意价值数组,重量数组,dp数组的范围 2. 上述三个数组的 memset 很重要 3. 一维滚动数组循环格式为 for (int i = 0; i < n; i++) for (int j = v; j >= volume[i]; j--) 4.原创 2017-05-24 22:46:59 · 229 阅读 · 0 评论 -
HDU 2191 汶川地震(多重背包)
Problem Description急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。 请问:你用有限的资金最多能采购多少公斤粮食呢?Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=100,原创 2017-07-17 23:29:19 · 310 阅读 · 0 评论 -
HDU 1171 Big Event in HDU (多重背包)
Problem DescriptionNowadays, we all know that Computer College is the biggest department in HDU. But, maybe you don’t know that Computer College had ever been split into Computer College and Software C原创 2017-07-18 15:51:42 · 186 阅读 · 0 评论 -
HDU 2955 Robberies(01背包问题)
Description一个劫匪要去抢劫n家银行,每家银行有一定的现金,每抢一家银行该劫匪有一定几率被警察抓住,但是当该劫匪被抓住的几率不大于p时他可以逃脱,问该劫匪在不被捕的情况下最多能抢到多少钱? Input第一行为用例组数T,每组用例第一行为一个浮点数P和一个整数n分别表示被捕的几率上限以及该劫匪计划抢劫的银行数量,之后n行每个一个整数v和一个浮点数p表示该家银行的现金数以及该劫匪抢劫该家银行被原创 2017-07-31 17:42:19 · 844 阅读 · 0 评论 -
01背包问题
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1171 Problem Description Nowadays, we all know that Computer College is the biggest department in HDU. But, maybe you don’t know that Computer College ha原创 2017-05-22 22:01:35 · 210 阅读 · 0 评论