背包
无
wowon~
这个作者很懒,什么都没留下…
展开
-
Acwing--背包问题(01,完全,多重,分组)
2. 01背包问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1原创 2022-03-31 16:22:20 · 389 阅读 · 0 评论 -
Acwing--背包问题求方案数
有NN件物品和一个容量是VV的背包。每件物品只能使用一次。第ii件物品的体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最优选法的方案数。注意答案可能很大,请输出答案模109+7109+7的结果。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。接下来有NN行,每行两个整数vi,wivi,wi,用空格隔开,分别表示第ii件物品的体积和价值。输出格式输出一个...原创 2021-11-06 21:38:16 · 63 阅读 · 0 评论 -
Acwing--900. 整数划分(完全背包求方案数模板)
一个正整数nn可以表示成若干个正整数之和,形如:n=n1+n2+…+nkn=n1+n2+…+nk,其中n1≥n2≥…≥nk,k≥1n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数nn的一种划分。现在给定一个正整数nn,请你求出nn共有多少种不同的划分方法。输入格式共一行,包含一个整数nn。输出格式共一行,包含一个整数,表示总划分数量。由于答案可能很大,输出结果请对109+7109+7取模。数据范围1≤n≤10001≤n≤1000输入...原创 2021-12-03 16:47:05 · 150 阅读 · 0 评论 -
LeetCode--377. 组合总和 Ⅳ(完全背包)
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。示例 2:输入:nums.原创 2021-12-02 19:15:57 · 95 阅读 · 0 评论 -
LeetCode--518. 零钱兑换 II(完全背包求方案数)
给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。假设每一种面额的硬币有无限个。题目数据保证结果符合 32 位带符号整数。示例 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, c..原创 2021-12-02 15:45:22 · 100 阅读 · 0 评论 -
LeetCode--322. 零钱兑换(完全背包)
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回-1 。你可以认为每种硬币的数量是无限的。示例1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1], amou...原创 2021-12-02 15:32:36 · 89 阅读 · 0 评论 -
Acwing--货币系统(完全背包求方案数)
给定VV种货币(单位:元),每种货币使用的次数不限。不同种类的货币,面值可能是相同的。现在,要你用这VV种货币凑出NN元钱,请问共有多少种不同的凑法。输入格式第一行包含两个整数VV和NN。接下来的若干行,将一共输出VV个整数,每个整数表示一种货币的面值。输出格式输出一个整数,表示所求总方案数。数据范围1≤V≤251≤V≤25,1≤N≤100001≤N≤10000答案保证在long long范围内。输入样例:3 101 2 5输出...原创 2021-11-11 18:02:37 · 68 阅读 · 0 评论 -
Acwing--搭配购买(并查集+01背包)
题目Joe觉得云朵很美,决定去山上的商店买一些云朵。商店里有 n 朵云,云朵被编号为 1,2,…,n,并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配的云都要买。但是Joe的钱有限,所以他希望买的价值越多越好。输入格式第 1 行包含三个整数 n,m,w,表示有 n 朵云,m 个搭配,Joe有 w 的钱。第 2∼n+1行,每行两个整数 ci,di 表示 i 朵云的价钱和价值。第 n+2∼n+1+m 行,每行两个整数 ui,vi,表示.原创 2021-11-11 17:50:07 · 121 阅读 · 0 评论 -
Acwing--神奇的口袋(01背包求方案数)
神奇的口袋有一个神奇的口袋,总的容积是4040,用这个口袋可以变出一些物品,这些物品的总体积必须是4040。John 现在有nn个想要得到的物品,每个物品的体积分别是a1,a2……ana1,a2……an。John 可以从这些物品中选择一些,如果选出的物体的总体积是4040,那么利用这个神奇的口袋,John 就可以得到这些物品。现在的问题是,John 有多少种不同的选择物品的方式。输入格式输入的第一行是正整数nn,表示不同的物品的数目。接下来的nn行,每行有一个...原创 2021-11-10 14:09:21 · 119 阅读 · 0 评论 -
Acwing--整数拆分(完全背包求方案数)
一个整数总可以拆分为22的幂的和。例如:77可以拆分成7=1+2+4,7=1+2+2+2,7=1+1+1+4,7=1+1+1+2+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+17=1+1+1+1+1+2,7=1+1+1+1+1+1+1共计66种不同拆分方式。再比如:44可以拆分成:4=4,4=1+1+1+1,4=2+2,4=1+1+24=4,4=1+1+1+1,4=2+2,4=1+...原创 2021-11-10 13:55:52 · 204 阅读 · 0 评论 -
Acwing--背包问题求具体方案
有NN件物品和一个容量是VV的背包。每件物品只能使用一次。第ii件物品的体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出字典序最小的方案。这里的字典序是指:所选物品的编号所构成的序列。物品的编号范围是1…N1…N。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。接下来有NN行,每行两个整数vi,wivi,wi,用空格隔开,分别表示第ii件物品的体积和价值。输出...原创 2021-11-06 23:01:39 · 65 阅读 · 0 评论 -
Acwing--有依赖的背包问题
有NN个物品和一个容量是VV的背包。物品之间具有依赖关系,且依赖关系组成一棵树的形状。如果选择一个物品,则必须选择它的父节点。如下图所示:如果选择物品5,则必须选择物品1和2。这是因为2是5的父节点,1是2的父节点。每件物品的编号是ii,体积是vivi,价值是wiwi,依赖的父节点编号是pipi。物品的下标范围是1…N1…N。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数N,VN,V,用空格隔...原创 2021-11-06 21:11:11 · 84 阅读 · 0 评论 -
Acwing--二维费用的背包问题(模板题目)
有NN件物品和一个容量是VV的背包,背包能承受的最大重量是MM。每件物品只能用一次。体积是vivi,重量是mimi,价值是wiwi。求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。输出最大价值。输入格式第一行三个整数,N,V,MN,V,M,用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。接下来有NN行,每行三个整数vi,mi,wivi,mi,wi,用空格隔开,分别表示第ii件物品的体积、重量...原创 2021-11-06 15:56:44 · 66 阅读 · 0 评论 -
Acwing--摆花(多重背包)
小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共mm盆。通过调查顾客的喜好,小明列出了顾客最喜欢的nn种花,从11到nn标号。为了在门口展出更多种花,规定第ii种花不能超过aiai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。试编程计算,一共有多少种不同的摆花方案。输入格式第一行包含两个正整数nn和mm,中间用一个空格隔开。 第二行有nn个整数,每两个整数之间用一个空格隔开,依次表示a1,a2,…,ana...原创 2021-11-04 17:03:23 · 165 阅读 · 0 评论 -
Acwing--01背包问题(模板)
有NN件物品和一个容量是VV的背包。每件物品只能使用一次。第ii件物品的体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。接下来有NN行,每行两个整数vi,wivi,wi,用空格隔开,分别表示第ii件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<N...原创 2021-11-06 10:04:21 · 97 阅读 · 0 评论 -
Acwing--多重背包问题 III(单调队列优化)
有NN种物品和一个容量是VV的背包。第ii种物品最多有sisi件,每件体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,VN,V(0<N≤1000(0<N≤1000,0<V≤20000)0<V≤20000),用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行三个整数vi,wi,sivi,wi,si,用空格隔开,分别表示第ii...原创 2021-11-06 14:15:49 · 165 阅读 · 0 评论 -
Acwing--分组背包问题
有NN组物品和一个容量是VV的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是vijvij,价值是wijwij,其中ii是组号,jj是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数N,VN,V,用空格隔开,分别表示物品组数和背包容量。接下来有NN组数据:每组数据第一行有一个整数SiSi,表示第ii个物品组的物品数量; 每组数据接下来有SiSi行,每行...原创 2021-11-03 23:12:44 · 108 阅读 · 0 评论 -
Acwing--糖果
由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。在这一天,Dzx可以从糖果公司的NN件产品中任意选择若干件带回家享用。糖果公司的NN件产品每件都包含数量不同的糖果。Dzx希望他选择的产品包含的糖果总数是KK的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。当然,在满足这一条件的基础上,糖果总数越多越好。Dzx最多能带走多少糖果呢?注意:Dzx只能将糖果公司的产品整件带走。输入格式第一行包含两...原创 2021-11-01 23:42:36 · 165 阅读 · 0 评论 -
洛谷--P1049装箱问题
题目描述有一个箱子容量为VV(正整数,0 \le V \le 200000≤V≤20000),同时有nn个物品(0<n \le 300<n≤30,每个物品有一个体积(正整数)。要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式11个整数,表示箱子容量11个整数,表示有nn个物品接下来nn行,分别表示这nn个物品的各自体积输出格式11个整数,表示箱子剩余空间。输入输出样例输入 #1复制2468312797输出 .原创 2021-11-01 22:22:00 · 127 阅读 · 0 评论 -
NOJ--宠物小精灵之收服(01背包,二维费用背包问题)
宠物小精灵之收服1000ms65536KDescription:宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服。对于每一个野生小精灵而言,小智可能需要使用很多个精灵球才能收服它,而在收服过程中,野生小精灵也会对皮卡丘造成一定的伤害(从而减少皮卡丘的体力)。当皮卡丘的体力小于等于0时,小智就必须结束狩猎(因为他需要给皮卡丘疗伤),而使得皮...原创 2021-11-01 22:07:05 · 123 阅读 · 0 评论 -
Acwing--开心的金明(01背包)
金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的NN元。于是,他把每件物品规定了一个重要度,分为55等:用整数1∼51∼5表示,第55等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过NN元(可以等于NN元)的前提下,使每件物品...原创 2021-11-01 12:41:38 · 85 阅读 · 0 评论 -
Acwing--数字组合(01背包求方案数)
给定NN个正整数A1,A2,…,ANA1,A2,…,AN,从中选出若干个数,使它们的和为MM,求有多少种选择方案。输入格式第一行包含两个整数NN和MM。第二行包含NN个整数,表示A1,A2,…,ANA1,A2,…,AN。输出格式包含一个整数,表示可选方案数。数据范围1≤N≤1001≤N≤100,1≤M≤100001≤M≤10000,1≤Ai≤10001≤Ai≤1000,答案保证在 int 范围内。输入样例:4 41 1 2 2输出样例...原创 2021-11-01 12:24:04 · 83 阅读 · 0 评论 -
Acwing--混合背包问题
有NN种物品和一个容量是VV的背包。物品一共有三类:第一类物品只能用1次(01背包); 第二类物品可以用无限次(完全背包); 第三类物品最多只能用sisi次(多重背包);每种体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行三个整数vi,wi,sivi,wi,si,用空格隔开,分别表示第...原创 2021-11-01 11:39:20 · 63 阅读 · 0 评论 -
Acwing--采药(01背包模板题)
辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?输入格式输入文件的第一行有两个整数TT和MM,用一个空格隔开,TT代...原创 2021-11-01 12:30:50 · 62 阅读 · 0 评论 -
Acwing--多重背包问题 I
有NN种物品和一个容量是VV的背包。第ii种物品最多有sisi件,每件体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行三个整数vi,wi,sivi,wi,si,用空格隔开,分别表示第ii种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤...原创 2021-10-31 23:22:40 · 124 阅读 · 0 评论 -
Acwing--多重背包问题 II(二进制+01背包优化)
有NN种物品和一个容量是VV的背包。第ii种物品最多有sisi件,每件体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行三个整数vi,wi,sivi,wi,si,用空格隔开,分别表示第ii种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N≤10...原创 2021-10-31 23:54:45 · 90 阅读 · 0 评论 -
Acwing--庆功会
题目描述为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员。期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力。输入格式第一行二个数n,m,其中n代表希望购买的奖品的种数,m表示拨款金额。接下来n行,每行3个数,v、w、s,分别表示第I种奖品的价格、价值(价格与价值是不同的概念)和能购买的最大数量(买0件到s件均可)。输出格式一行:一个数,表示此次购买能获得的最大的价值(注意!不是价格)。数据范围n≤500,m≤6000,v.原创 2021-11-01 11:00:48 · 144 阅读 · 0 评论 -
Acwing--买书(完全背包)
小明手里有n nn元钱全部用来买书,书的价格为10 1010元,20 2020元,50 5050元,100 100100元。问小明有多少种买书方案?(每种书可购买多本)输入格式:一个整数n nn,代表总共钱数。输出格式:一个整数,代表选择方案种数。数据范围:0 ≤ n ≤ 1000 0≤n≤10000≤n≤1000完全背包求方案数#include<bits/stdc++.h>using namespace std;const int N= 1010;in.原创 2021-10-31 22:23:49 · 188 阅读 · 0 评论 -
Acwing--自然数拆分(完全背包求方案数)
给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复。注意:拆分方案不考虑顺序; 至少拆分成2个数的和。求拆分的方案数mod2147483648 的结果。输入格式一个自然数N。输出格式输入一个整数,表示结果。数据范围1≤N≤4000输入样例:7输出样例:142147483648是2的31次方所以答案会暴int所以用unsigned来存储。 最大值为2的32次方-1集合:所有从前i个物品中选...原创 2021-10-31 21:12:29 · 417 阅读 · 0 评论 -
Acwing--完全背包问题
3. 完全背包问题 - AcWing题库有NN种物品和一个容量是VV的背包,每种物品都有无限件可用。第ii种物品的体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行两个整数vi,wi,用空格隔开,分别表示第ii种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<...原创 2021-10-31 16:13:43 · 66 阅读 · 0 评论 -
Acwing--吃蛋糕(完全背包)
惠特利在参加世界上最好的派对:它有着无数的蛋糕!每个蛋糕都呈具有整数边长(cmcm)的正方形形状。派对上有无限多个边长为任意整数的蛋糕。蛋糕都有相同的高度,所以我们只考虑它们的面积。惠特利决定吃一个或多个蛋糕,使其总面积恰好为Ncm2Ncm2。你能帮他计算一下他最少需要吃掉多少个蛋糕吗?输入格式第一行包含整数TT,表示共有TT组测试数据。每组数据占一行,包含一个整数NN,为惠特利想吃掉的蛋糕的总面积。输出格式每组数据输出一个结果,每个结果占一行。结果...原创 2021-10-31 22:07:59 · 146 阅读 · 0 评论 -
HDU-1171 Big Event in HDU(01背包)
Big Event in HDUTime Limit: 10000/5000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 64528Accepted Submission(s): 21654Problem DescriptionNowadays, we all know that Computer College is the biggest department ...原创 2021-07-31 18:56:50 · 81 阅读 · 0 评论 -
背包问题 V2(多重背包)
有N种物品,每种物品的数量为C1,C2......Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi为整数)。求背包能够容纳的最大价值。其中1 <= N <= 100,1 <= W <= 50000,1 <= Wi, Pi <= 10000, 1 <= Ci <= 200。Input第1行,2个整数,N和W中间用空格隔开。N为物品的种类,W为背包的.原创 2021-07-31 09:44:11 · 72 阅读 · 0 评论 -
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?后记:人生是一个充满了变数的生命过程,天灾、人祸、病痛是我们生命历程中不可预知的威胁。月有阴晴圆缺,人有旦夕祸福,未来对于我们而言是一个未知数。那么,我们要做的就应该是珍惜现在,感恩生活——感谢父母,他们给予我们生命,抚养我们成人;感谢老师,他们授给我们知识,.原创 2021-07-30 17:44:57 · 105 阅读 · 0 评论 -
01背包原理详解(小白也可以看懂)
b站详解视频连接:https://www.bilibili.com/video/BV17E411A7Xr原创 2021-02-10 15:33:02 · 971 阅读 · 0 评论 -
01背包
且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时刻了!小Ho现在手上有M张奖券,而奖品区有N件奖品,分别标号为1到N,其中第i件奖品需要need(i)张奖券进行兑换,同时也只能兑换一次,为了使得辛苦得到的奖券不白白浪费,小Ho给每件奖品都评了分,其中第i件奖品的评分值为value(i),表示他对这件奖品的喜好值。现在他想知道,凭借他手上的这些奖券,可以换到哪些奖品,使得这些奖品的喜好值之和能够最大。提示一:合理抽象问题、定义状态是动态规划最关键的.原创 2021-02-10 15:18:58 · 141 阅读 · 0 评论 -
Cafeteria(01背包模板题)⭐⭐⭐
问题 C: Cafeteria时间限制:1 Sec内存限制:128 MB提交:39解决:20[提交] [状态] [命题人:外部导入]题目描述Nanae把饥肠辘辘的josnch带去一家自助餐厅,面对面前眼花缭乱的美味josnch呆住了。假设有N种食物,每种食物只有一样,而且每种食物有对应的体积Wi (1 <= Wi <= 400),食用每一种食物都能增加对应的愉悦值Di(1 <= Di <= 100).现在已知josnch肚子的容量为M(1 <...原创 2021-05-21 15:20:12 · 150 阅读 · 0 评论 -
Bone Collector(01背包)
Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave …The bone collector had a big bag with a volume of V ,and along his trip ...原创 2021-07-30 17:47:01 · 59 阅读 · 0 评论