![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包问题
Summersadness8
I won't give in to the insanity, chasing all the stars
展开
-
LeetCode474. 一和零
题目:在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着m个0和n个1。另外,还有一个仅包含0和1字符串的数组。你的任务是使用给定的m个0和n个1,找到能拼出存在于数组中的字符串的最大数量。每个0和1至多被使用一次。注意:给定0和1的数量都不会超过100。 给定字符串数组的长度不会超过600。...原创 2019-03-29 14:01:50 · 369 阅读 · 0 评论 -
多重背包问题 II
题目有N种物品和一个容量是V的背包。第i种物品最多有si 件,每件体积是vi,价值是wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V 用空格隔开,分别表示物品种数和背包容积。接下来有N行,每行三个整数vi,wi,si,用空格隔开,分别表示第ii种物品的体积、价值和数量。...原创 2019-03-26 17:12:01 · 244 阅读 · 0 评论 -
LeetCode416. 分割等和子集
题目:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100 数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false解释:...原创 2019-03-25 10:53:28 · 174 阅读 · 0 评论 -
LeetCode494. 目标和
题目:给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号+和-。对于数组中的任意一个整数,你都可以从+或-中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例 1:输入: nums: [1, 1, 1, 1, 1], S: 3输出: 5解释: -1+1+1+1+1 = 3+1-1+1...原创 2019-03-25 11:34:46 · 251 阅读 · 0 评论 -
LeetCode322. 零钱兑换
题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: ...原创 2019-03-25 14:08:42 · 125 阅读 · 0 评论 -
01背包问题
题目:有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数vi,wi用空格隔开,分别表示第i件物品的体积和价值。输出格式输出一个整数,表示...原创 2019-03-24 18:46:49 · 554 阅读 · 0 评论 -
完全背包问题
题目:有N种物品和一个容量是V的背包,每种物品都有无限件可用。第i种物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V用空格隔开,分别表示物品种数和背包容积。接下来有N行,每行两个整数vi,wi用空格隔开,分别表示第i种物品的体积和价值。输出格式输出...原创 2019-03-24 19:33:12 · 189 阅读 · 0 评论 -
多重背包问题 I
题目:有N种物品和一个容量是V 的背包。第i种物品最多有si件,每件体积是vi,价值是wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数N,V 用空格隔开,分别表示物品种数和背包容积。接下来有N行,每行三个整数vi,wi,si,用空格隔开,分别表示第i种物品的体积、价值和数量。...原创 2019-03-26 16:17:59 · 407 阅读 · 0 评论 -
混合背包问题
题目:有N种物品和一个容量是V的背包。物品一共有三类:第一类物品只能用1次(01背包); 第二类物品可以用无限次(完全背包); 第三类物品最多只能用sisi次(多重背包);每种体积是vi,价值是wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V用空格隔开,分别表示物品种数和背包容...原创 2019-03-26 19:42:10 · 1940 阅读 · 1 评论 -
二维费用的背包问题
题目:有NN件物品和一个容量是VV的背包,背包能承受的最大重量是MM。每件物品只能用一次。体积是vivi,重量是mimi,价值是wiwi。求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。输出最大价值。输入格式第一行两个整数N,V, M 用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。接下...原创 2019-03-26 20:09:47 · 418 阅读 · 0 评论 -
分组背包问题
题目有N组物品和一个容量是V的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是vij,价值是wij,其中i是组号,j是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数N,VN,V,用空格隔开,分别表示物品组数和背包容量。接下来有N 组数据:每组数据第一...原创 2019-03-26 21:12:31 · 1297 阅读 · 0 评论 -
背包问题求方案数
题目:有N件物品和一个容量是V的背包。每件物品只能使用一次。第i件物品的体积是vi,价值是wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最优选法的方案数。注意答案可能很大,请输出答案模1e9+7的结果。输入格式第一行两个整数,N,V用空格隔开,分别表示物品数量和背包容积。接下来有N行,每行两个整数vi,wi用...原创 2019-04-10 11:27:18 · 1042 阅读 · 0 评论 -
LeetCode377. 组合总和 Ⅳ
题目:给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。第一次做觉得就是个简单...原创 2019-03-29 14:48:13 · 284 阅读 · 0 评论 -
LeetCode518. 零钱兑换 II
题目:给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入: amount = 3, coins = [2]输出...原创 2019-03-29 11:01:43 · 344 阅读 · 0 评论