
背包DP
文章平均质量分 71
常见的01背包,完全背包,多重背包等等
为什么他们cf写的这么快
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CodeForces - 577B Modulo Sum(鸽巢原理+背包DP)
You are given a sequence of numbers a1, a2, …, an, and a number m.Check if it is possible to choose a non-empty subsequence aij such that the sum of numbers in this subsequence is divisible by m.InputThe first line contains two numbers, n and m (1 ≤ n ≤原创 2021-03-12 13:38:30 · 322 阅读 · 0 评论 -
PAT顶级 1002 Business (35分)(01背包)
1002 Business (35分)As the manager of your company, you have to carefully consider, for each project, the time taken to finish it, the deadline, and the profit you can gain, in order to decide if your group should take this project. For example, given 3 pr原创 2020-07-28 22:52:32 · 996 阅读 · 1 评论 -
牛客练习赛64 D 宝石装箱(容斥+背包DP)
题目链接思路:因为第 i 个箱子 至少放了 j 个不合法宝石 是用前面一个状态(dp[j-1]) 推出所以在枚举放不合法宝石的时候逆序枚举就可以实现内存优化,然后合法宝石的排列是 (n-i)!(n−i)! , 不合法宝石的排列是 dp[i]*a[i]dp[i]∗a[i],因为是至少放了 x 个不合法宝石,所以肯定存在重复的方案,就需要进行容斥偶数加,奇数减!#include <bits/stdc++.h>using namespace std;typedef long long ll原创 2020-05-23 22:18:04 · 232 阅读 · 0 评论 -
Codeforces Round #638 (Div. 2) E. Phoenix and Berries(DP)(难)
题目链接题意: 给出n颗树,还有n颗树上红果和蓝果的数量,每个篮放满需要k个果子,放在同一个篮子的果子必须是同种颜色或者是同一棵树上的果子,问最多能放满几个篮子。思路:dp【i】【j】代表前i棵树还剩j个红果地篮子数,转移地方式有两种,第一种就是选择同一棵树的果子放进篮子里,第二种就是选择同颜色的果子,感觉还剩挺难想的,具体一些细节还剩没怎么明白,留坑以后再回来看看。#include&l...原创 2020-05-06 21:16:34 · 328 阅读 · 0 评论 -
Codeforces Round #579 (Div. 3) F2. Complete the Projects (hard version)(背包dp+优先队列)
题目链接题意:一开始给定初始的r,和n件物品,每种物品有两个属性ai和bi,当r大于等于ai时可以拿这件物品,但拿的同时r会加上bi(bi可能为负数),问最多能拿几件。思路:bi会正数的话很容易考虑先按ai从小到大排列,看看最多能拿几件(这里就是贪心思想),那么bi小于0的时候呢?我们可以把bi小于0的物品按ai+bi的和从大到小排列,然后就是经典背包模型,dp【i】【j】表示选了前i件物...原创 2020-03-01 13:10:32 · 158 阅读 · 0 评论 -
Codeforces Beta Round #82 (Div. 2) C. Buns(多重背包)
题目链接题意:面包师Lavrenty打算用馅料做几个面包,然后把它们卖掉。Lavrenty有n克面团和m种不同的馅料。馅料种类的下标从1到m,他知道他的第i种馅料剩下ai 克,做一个第i种馅料的面包,恰恰需要bi克的i种馅料和ci克的面团,同时这种面包可以卖di块钱。他也可以做没有馅的面包。每个这样的面包需要c0克面团,可以卖d0块Tugrik。所以Lavrenty可以做任何数量的包子,用不同...原创 2020-04-11 21:07:21 · 249 阅读 · 0 评论 -
hdu2844 Coins(背包DP)
题目链接CoinsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 27146 Accepted Submission(s): 9950Problem DescriptionWhuacmers use coins.They h...原创 2020-04-10 18:59:21 · 145 阅读 · 0 评论 -
hdu5445 Food Problem(多重背包)(*)
题目链接Food ProblemTime Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1731 Accepted Submission(s): 544Problem DescriptionFew days before a g...原创 2020-04-10 18:55:52 · 157 阅读 · 0 评论 -
Codeforces Round #214 (Div. 2) C. Dima and Salad(背包DP)
题目链接题意:n个物品,k为倍数。每个物品有两个属性(ai和bi),求在满足所取物品的a属性和是b属性和的k倍的前提下,问a属性的最大值是多少,思路:标准的01背包模型,但是ai的和是bi的和的k倍这个条件确实不太好处理,这里的一种方法就是把01背包里原先第二维的重量变为ai-k*bi,很明显,最后我们要求的一定是dp【n】【0】,但是到这里还有一个问题,就是第二维算出来的有可能是个负数,...原创 2020-04-08 21:41:33 · 208 阅读 · 0 评论