
背包问题
文章平均质量分 76
meet snow happy
又菜又爱敲代码
海贼王->海米
北邮
展开
-
P2170 选学霸[01背包变形,前k优解]
P2170 选学霸题意多人背包题目描述求01背包前k优解的价值和DD 和好朋友们要去爬山啦!他们一共有 K 个人,每个人都会背一个包。这些包 的容量是相同的,都是 V。可以装进背包里的一共有 N 种物品,每种物品都有 给定的体积和价值。在 DD 看来,合理的背包安排方案是这样的: 每个人背包里装的物品的总体积恰等于包的容量。 每个包里的每种物品最多只有一件,但两个不同的包中可以存在相同的物品。任意两个人,他们包里的物品清单不能完全相同。 在满足以上要求的前提下,所有包里的所有物品的总价值最原创 2022-05-25 11:02:58 · 144 阅读 · 0 评论 -
P4141 消失之物[01背包变形,消除一个物品的影响]
P4141 消失之物题意消失之物题目描述ftiasch 有 nnn 个物品, 体积分别是 w1,w2,…,wnw_1,w_2,\dots,w_nw1,w2,…,wn。由于她的疏忽,第 iii 个物品丢失了。“要使用剩下的 n−1n-1n−1 物品装满容积为 xxx 的背包,有几种方法呢?”——这是经典的问题了。她把答案记为 cnt(i,x)\text{cnt}(i,x)cnt(i,x) ,想要得到所有i∈[1,n]i \in [1,n]i∈[1,n], x∈[1,m]x \in [1,m原创 2022-05-24 21:24:51 · 512 阅读 · 0 评论 -
Codeforces Beta Round #19:Checkout Assistant [01背包变形]
Codeforces Beta Round #19:Checkout Assistant题意Checkout Assistant题面翻译题目描述Bob 来到一家现购自运商店,将 nnn 件商品放入了他的手推车,然后到收银台付款。每件商品由它的价格 cic_ici 和收银员扫描它的时间 tit_iti 秒定义。当收银员正在扫描某件商品时,Bob 可以从他的手推车中偷走某些其它商品。Bob 需要恰好 111 秒来偷走一件商品。Bob 需要付给收银员的最少钱数是多少?请记住,收银员扫描商品的顺序原创 2022-05-24 19:53:47 · 1070 阅读 · 0 评论 -
P1064 [NOIP2006 提高组] 金明的预算方案[有依赖的背包]
P1064 [NOIP2006 提高组] 金明的预算方案题意[NOIP2006 提高组] 金明的预算方案题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 nnn 元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印机,扫描仪书柜图书书原创 2022-05-24 16:47:30 · 489 阅读 · 0 评论 -
P5322 [BJOI2019] 排兵布阵[分组背包变形]
P5322 [BJOI2019] 排兵布阵题意[BJOI2019] 排兵布阵题目描述小 C 正在玩一款排兵布阵的游戏。在游戏中有 nnn 座城堡,每局对战由两名玩家来争夺这些城堡。每名玩家有 mmm 名士兵,可以向第 iii 座城堡派遣 aia_iai 名士兵去争夺这个城堡,使得总士兵数不超过 mmm。如果一名玩家向第 iii 座城堡派遣的士兵数严格大于对手派遣士兵数的两倍,那么这名玩家就占领了这座城堡,获得 iii 分。现在小 C 即将和其他 sss 名玩家两两对战,这 sss 场对决的派原创 2022-05-24 15:05:25 · 188 阅读 · 0 评论 -
P1782 旅行商的背包[混合背包,优化,数据大]
P1782 旅行商的背包题意旅行商的背包题目描述小 S 坚信任何问题都可以在多项式时间内解决,于是他准备亲自去当一回旅行商。在出发之前,他购进了一些物品。这些物品共有 nnn 种,第 iii 种体积为 ViV_iVi,价值为 WiW_iWi,共有 DiD_iDi 件。他的背包体积是 CCC。怎样装才能获得尽量多的收益呢?作为一名大神犇,他轻而易举的解决了这个问题。然而,就在他出发前,他又收到了一批奇货。这些货共有 mmm 件,第 iii 件的价值 YiY_iYi 与分配的体积 XiX_i原创 2022-05-24 01:12:56 · 312 阅读 · 0 评论 -
P5020 [NOIP2018 提高组] 货币系统(完全背包+集合)
P5020 [NOIP2018 提高组] 货币系统tags完全背包,集合思路主要考察集合的证明a中不能被其他数组成的数一定在b中假设x∈a,其x不能被a中其他数组成,并且x¢b那么b中必有一些数能够组成x而这些数中:至少有一个数不属于a且不能被a中其他数组成(如果所有数·····那么x可以被a中其他数组成,矛盾)但这此时a与b不等价了所以:a中不能被其他数组成的数一定在b中x∈b,那么x∈a假设x∈b且x¢a那么a中必有一些数(这些数不能被a中其他数组成)能组成x又由定原创 2022-05-21 11:11:30 · 189 阅读 · 0 评论 -
P5662 [CSP-J2019] 纪念品(多轮完全背包)
P5662 [CSP-J2019] 纪念品tags贪心,dp,完全背包思路“当日购买的纪念品也可以当日卖出换回金币”,所以我们可以当天买,当天卖,但是是以后一天的价格取卖,这样的话就不必取考虑跨天买卖,只需考虑当天即可状态表示当天手里的钱为背包容量当天物品的价格为消耗明天物品价格为收益对于每一天,去进行一次完全背包:前i天买进卖出前j个物品的最大收益,注意i到t-1循环结束,只循环t-1轮背包每天都得去更新背包容量每天一次完全背包,dp每天都得更新为0AC代码#inclu原创 2022-05-21 09:34:49 · 727 阅读 · 0 评论 -
2022 CUST程序设计天梯赛校赛 L2-2 power
2022CUST程序设计天梯赛校赛 L2-2 powerL2-2power算法思路完全背包问题而来动态规划之完全背包问题但是与之不同是,有限制条件**“每次玩过的项目不能比上一次玩过的项目便宜”**这里先讲一下我从别的大佬学习到的思路1. 可选择性这是我通过这道题对dp的更一层次理解我们普通的**dp[i][j]表示的是:从前i-1个物品中选取总重不超过W的物品的最大价值**这里我们需要着重注意前i-1个物品,我们普通的背包是在前i-1个物品都可选的情况下的最优解这里的背包显然前i-原创 2022-04-03 23:21:11 · 1051 阅读 · 1 评论 -
P1455 搭配购买(01背包+并查集)
P1455 搭配购买tags01背包,并查集思路把在同一个集合中的背包合并成一个背包,(用并查集实现,路径压缩使得主背包为该集合的父亲)合并背包的过程:集合的合并价格的合并花费的合并如何就用01背包解决了,合并后par[i]==i的才为背包AC代码#include<bits/stdc++.h>using namespace std;const int maxn=1e4+5,maxm=5e3+5;int n,m,w;int dp[10000000],a[m原创 2022-05-20 20:13:25 · 230 阅读 · 0 评论 -
P3985 不开心的金明(二维背包需优化)
P3985 不开心的金明 tags01背包,二维背包,数据很大思路首先W的值很大,按普通01背包来些复杂度nW肯定不行,但n很小如果按普通01背包来些,那么条件“要求购物单上所有的物品价格的极差(最贵的减去最便宜的)不超过3”用不上,所以这是关键对于“要求购物单上所有的物品价格的极差(最贵的减去最便宜的)不超过3”,可以知道价格只有4种情况且很接近,于是我们后面减小体积时不会出现还有vi很大的情况,因为vi很大,所以我们可以减小vi来降低复杂度,vi=vi-minv,这也会导致我们写dp的时候原创 2022-05-20 00:41:59 · 194 阅读 · 0 评论