![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
01背包
XSamsara
AFO
展开
-
BZOJ 1606: [Usaco2008 Dec]Hay For Sale 购买干草【01背包】
1606: [Usaco2008 Dec]Hay For Sale 购买干草Time Limit: 5 Sec Memory Limit: 64 MBDescription 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草. 顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤...原创 2018-05-14 20:41:29 · 137 阅读 · 0 评论 -
BZOJ 1618: [Usaco2008 Nov]Buying Hay 购买干草【01背包】
1618: [Usaco2008 Nov]Buying Hay 购买干草Time Limit: 5 Sec Memory Limit: 64 MBDescription 约翰的干草库存已经告罄,他打算为奶牛们采购H(1≤H≤50000)磅干草,他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号。第i个公司卖的干草包重量为Pi(1≤Pi≤5000)磅,需要的开销为Ci(l...原创 2018-05-15 18:10:26 · 129 阅读 · 0 评论 -
BZOJ 1625: [Usaco2007 Dec]宝石手镯【01背包】
1625: [Usaco2007 Dec]宝石手镯Time Limit: 5 Sec Memory Limit: 64 MBDescription 贝茜在珠宝店闲逛时,买到了一个中意的手镯。很自然地,她想从她收集的 N(1 <= N <= 3,402)块宝石中选出最好的那些镶在手镯上。对于第i块宝石,它的重量为W_i(1 <= W_i <= 400),并且...原创 2018-05-16 12:28:43 · 242 阅读 · 0 评论 -
BZOJ2914: [Poi1997]ADDON【01背包】
2914: [Poi1997]ADDON【题目描述】传送门【题解】燃料室高度的最大可能值应该指的是第一个高度不在稳定高度集合里的数。这题其实就是一个背包就可以了。代码如下#include<cstdio>#include<algorithm>using namespace std;int T,n,Ans,a[10005],O[10005],tot;bool...原创 2018-11-13 16:59:57 · 256 阅读 · 0 评论 -
LibreOJ 6515. 「雅礼集训 2018 Day10」贪玩蓝月【背包+栈+ST表+复杂度计算】
6515. 「雅礼集训 2018 Day10」贪玩蓝月【题目描述】传送门【题解】在线的做法,LOJ上有题解,就是开两个栈,记录前面插入和后面插入,用背包算出答案。询问可以用ST表合并两个栈。删除直接O(1)就可以了,但是如果其中一个栈删完了,那么我们将另一个栈取出一半放到左边重新背包计算,因为每次取出一半,所以复杂度是log级别的。【代码如下】#include<cstdio&...原创 2019-02-23 14:43:52 · 413 阅读 · 0 评论 -
BZOJ5018: [Snoi2017]英雄联盟【01背包】
5018: [Snoi2017]英雄联盟【题目描述】传送门【题解】我们根据价值来背包就可以了。【代码如下】#include<cstdio>#include<algorithm>using namespace std;const int MAXC=250000,MAXN=200;int n,Alm,K[MAXN],C[MAXN];long long F[M...原创 2019-03-12 20:27:02 · 124 阅读 · 0 评论 -
BZOJ5390: [Lydsy1806月赛]糖果商店【背包】
5390: [Lydsy1806月赛]糖果商店F[i][j]F[i][j]F[i][j]表示体积为iii,最顶上的糖果的种类为jjj。F[i][0]F[i][0]F[i][0]表示体积为iii,最顶上的糖果盒盖上了。所有可以得到转移F[i][j]=max(F[i−wj][j]+vj)F[i][j]=max(F[i-w_j][j]+v_j)F[i][j]=max(F[i−wj][j]+vj...原创 2019-04-01 20:45:10 · 130 阅读 · 0 评论 -
BZOJ1190: [HNOI2007]梦幻岛宝珠【01背包】
1190: [HNOI2007]梦幻岛宝珠我们对b分层,对于每一层用a背包,然后考虑如何在层之间转移。F[i]表示还剩余i空间的最优解,略有不同,然后就直接从上一层j转移到j*2+(W这一位是否为1)。#include<cstdio>#include<cstring> #include<algorithm>using namespace std;i...原创 2019-04-21 21:02:31 · 245 阅读 · 0 评论