
背包问题
文章平均质量分 51
csu_xiji
这个作者很懒,什么都没留下…
展开
-
力扣 1449. 数位成本和为目标值的最大数字 dp 贪心
https://leetcode-cn.com/problems/form-largest-integer-with-digits-that-add-up-to-target/思路一:依旧是完全背包的变种……只不过这道题要求恰好装满背包,那么在初始化的时候只初始化dp0dp_0dp0为空,其余的初始化为−∞-\infin−∞即可。但是此题需要比较的元素是字符串而不是整数,而且字符串的比较方式也有所区别:首先判断长度关系,然后逐字符判断。如果简单的认为dpdpdp数组每个元素都是字符串,然后按照如下方程原创 2021-06-12 02:46:22 · 567 阅读 · 1 评论 -
力扣 279. 完全平方数 dp
https://leetcode-cn.com/problems/perfect-squares/思路:做法挺多的,就说一下dp吧。类似于完全背包的做法,只不过现在是求最小个数。用dpidp_idpi表示表示正整数iii所需要的最少个数,那么对于每个满足题意的完全平方数xxx,有:dpi=min(dpi,dpi−x+1)dp_i=min(dp_i,dp_{i-x}+1)dpi=min(dpi,dpi−x+1)class Solution {public: int numSqua原创 2021-06-11 00:54:29 · 92 阅读 · 0 评论 -
力扣 518. 零钱兑换 II dp
https://leetcode-cn.com/problems/coin-change-2/思路:经典完全背包问题……class Solution {public: int change(int amount, vector<int>& coins) { vector<int> dp(amount+1); dp[0]=1; for(const int &coin:coins) {原创 2021-06-10 17:04:10 · 129 阅读 · 0 评论 -
力扣 1049. 最后一块石头的重量 II dp
https://leetcode-cn.com/problems/last-stone-weight-ii/思路:考虑dpi,jdp_{i,j}dpi,j表示处理前iii个石块后剩余石块重量总和为jjj的状态是否存在。那么对于dpi−1,jdp_{i-1,j}dpi−1,j,我们可以把第iii块石头加进来但不做任何处理,也可以粉碎第iii块石头(这取决于stonesistones_istonesi和jjj的大小),因此有转移方程:dpi,j+stonesi=dpi−1,jdpi,abs(j−st原创 2021-06-10 16:51:49 · 220 阅读 · 0 评论 -
力扣 879. 盈利计划 dp
https://leetcode-cn.com/problems/profitable-schemes/思路:依旧和01背包问题很像,考虑用dpi,j,kdp_{i,j,k}dpi,j,k表示前iii种工作使用了jjj名员工且利润为kkk的方案数,在不考虑取模的情况下,如果当前的j、kj、kj、k不满足第iii种工作的限制,那么有:dpi,j,k=dpi−1,j,kdp_{i,j,k}=dp_{i-1,j,k}dpi,j,k=dpi−1,j,k否则有:dpi,j,k=dpi−1,j,k+原创 2021-06-10 00:35:04 · 176 阅读 · 0 评论 -
力扣 494. 目标和 爆搜 dp
https://leetcode-cn.com/problems/target-sum/思路一:爆搜出奇迹。class Solution {public: int findTargetSumWays(vector<int>& nums, int target) { return dfs(nums,0,target); } int dfs(const vector<int>&nums, int idx,int targe原创 2021-06-07 16:18:07 · 99 阅读 · 0 评论 -
力扣 474. 一和零 dp(二维01背包)
https://leetcode-cn.com/problems/ones-and-zeroes/思路:太久没写背包了,都有点忘了……把每个字符串的0、1个数抽象为代价,m、n抽象为背包容量上限,显然就是二维01背包问题,做法和一维背包类似。class Solution {public: int findMaxForm(vector<string>& strs, int m, int n) { using pr=pair<int,int>;原创 2021-06-06 01:42:37 · 213 阅读 · 0 评论 -
力扣 416. 分割等和子集 01背包/暴力
https://leetcode-cn.com/problems/partition-equal-subset-sum/思路一:dpdpdp,首先计算数组元素的和,如果为奇数则一定不能满足题意,否则子集的和就等于总和的一半,假设为halfhalfhalf,那么问题转换成:是否可以从数组中任取一些数字使得它们的和为halfhalfhalf。010101背包可解,dp[i]=1dp[i]=1dp[i]=1说明可以组成iii这个数,否则说明不能组成iii这个数,那么对于数组中的每个元素vvv都有,dp[i]=原创 2020-09-06 22:45:34 · 298 阅读 · 0 评论 -
洛谷 P1757 通天之分组背包 分组背包
https://www.luogu.com.cn/problem/P1757思路:分组背包裸题。#include<bits/stdc++.h>#define INF 0x3f3f3f3f#define eps 1e-8#define pr pair<int,int>using namespace std;typedef long long ll;const...原创 2020-04-16 16:37:22 · 215 阅读 · 0 评论 -
洛谷 P1802 5倍经验日 dp
https://www.luogu.com.cn/problem/P1802思路:010101背包的简单变形吧,有两种决策:dp[j]=max(dp[j]+lose[i],dp[j−use[i]]+win[i])dp[j]=max(dp[j]+lose[i],dp[j-use[i]]+win[i])dp[j]=max(dp[j]+lose[i],dp[j−use[i]]+win[i])#inc...原创 2020-04-16 16:26:17 · 310 阅读 · 0 评论 -
Round A 2020 - Kick Start 2020 Plates dp 分组背包
https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ffc7/00000000001d40bb#include<bits/stdc++.h>#define INF 0x3f3f3f3fusing namespace std;typedef long long ll;const int ...原创 2020-03-22 17:54:28 · 401 阅读 · 0 评论 -
HDU 1561 The more, The Better 树形dp 有依赖的背包问题
https://vjudge.net/problem/HDU-1561思路:稍微转化一下就是有依赖的背包问题了,当然也属于树形dpdpdp的范畴。这里就说一下怎么转化,认为每一个城堡的体积都是111,背包的总体积为mmm即可,当然有个细节要注意,就是点000的体积是000。关于有依赖的背包问题,可以看我这篇博客的介绍:https://blog.youkuaiyun.com/xiji333/article...原创 2020-03-07 18:24:29 · 183 阅读 · 0 评论 -
背包九讲 附Acwing模板题AC代码
文章目录推荐博客010101背包完全背包多重背包朴素版二进制优化单调队列优化混合背包二维费用背包问题分组背包有依赖背包问题泛化物品背包问题问法的变化输出字典序最小的最优方案输出最优解的方案数第kkk优解推荐博客背包九讲原文背包九讲——全篇详细理解与代码实现本博客对基础内容不进行解释,基础薄弱的可以与上述博客一起食用。010101背包例题#include<bits/stdc++....原创 2020-02-09 19:19:53 · 811 阅读 · 0 评论 -
CSU 2257 Intergalactic Bidding 超递增背包+大数
http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=2257DescriptionToday the Intergalactic Council of Pebble Coins (ICPC) conducted an intergalactic auction of the Neutronium Chaos Pebble Coi...原创 2019-05-02 10:28:15 · 933 阅读 · 0 评论 -
洛谷 P1541 dp
https://www.luogu.org/problemnew/show/P1541题目背景小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。题目描述乌龟棋的棋盘是一行NNN个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第NNN格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中MMM张爬行卡片,分成4种不同的类型(MMM张卡片中不一定包含所有4...原创 2019-03-29 13:53:17 · 152 阅读 · 0 评论 -
HDU 1114 Piggy-Bank 完全背包
http://acm.hdu.edu.cn/showproblem.php?pid=1114Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversi...原创 2019-01-28 14:35:36 · 156 阅读 · 0 评论 -
HDU 2191 多重背包及其优化
http://acm.hdu.edu.cn/showproblem.php?pid=2191急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?后记:人生是一个充满了变数的生命过程,天灾、人祸、病痛是我们...原创 2019-01-28 14:55:21 · 167 阅读 · 0 评论 -
HDU 2546 dp 01背包
http://acm.hdu.edu.cn/showproblem.php?pid=2546电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额...原创 2019-02-02 19:00:00 · 164 阅读 · 0 评论 -
HDU 1171 多重背包
http://acm.hdu.edu.cn/showproblem.php?pid=1171Nowadays, 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 C...原创 2019-02-05 23:27:52 · 182 阅读 · 0 评论 -
洛谷 P1060 01背包
https://www.luogu.org/problemnew/show/P1060题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一个重要度,...原创 2019-02-18 10:23:21 · 274 阅读 · 0 评论 -
洛谷 P1064
https://www.luogu.org/problemnew/show/P1064题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附...原创 2019-02-18 10:45:45 · 255 阅读 · 0 评论 -
洛谷 P1048
https://www.luogu.org/problemnew/show/P1048题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可...原创 2019-02-18 10:48:03 · 279 阅读 · 0 评论 -
洛谷 P1616 完全背包
https://www.luogu.org/problemnew/show/P1616题目背景此题为NOIP2005普及组第三题的疯狂版。此题为纪念LiYuxiang而生。题目描述LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,...原创 2019-02-18 10:49:58 · 312 阅读 · 0 评论 -
洛谷 P1049 01背包
https://www.luogu.org/problemnew/show/P1049题目描述有一个箱子容量为V(正整数,0≤V≤200000),同时有n个物品(0<n≤300),每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入输出格式输入格式: 1个整数,表示箱子容量1个整数,表示有n个物品接下来n行,分别表...原创 2019-02-18 10:53:32 · 212 阅读 · 0 评论 -
洛谷 P1855 二维费用的背包问题
https://www.luogu.org/problemnew/show/P1855题目描述洛谷2的团队功能是其他任何oj和工具难以达到的。借助洛谷强大的服务器资源,任何学校都可以在洛谷上零成本的搭建oj并高效率的完成训练计划。为什么说是搭建oj呢?为什么高效呢?因为,你可以上传私有题目,团队外别人是无法看到的。我们还能帮你们评测!你可以创建作业,给组员布置任务,查看组员...原创 2019-02-25 18:04:41 · 443 阅读 · 0 评论 -
HDU 3339 In Action 最短路+01背包
http://acm.hdu.edu.cn/showproblem.php?pid=3339Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the number of nuclear weapons have soared across the gl...原创 2019-03-30 20:18:44 · 180 阅读 · 0 评论 -
HDU 2602 01背包
http://acm.hdu.edu.cn/showproblem.php?pid=2602Many 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 ,...原创 2019-01-28 14:00:19 · 121 阅读 · 0 评论