背包dp
小菜鸡加油
菜鸡
什么都能折磨
展开
-
687C - The Values You Can Make(思维+01背包)
https://codeforces.com/problemset/problem/687/C思路:开始没看懂题意。看懂了其实就是在01背包的基础上多开了一维度来转移。注意int也mle,改成bool题意:一个人要用最多n个硬币凑出k元的价值,求用于凑成k元的硬币重新组合后,可以得到哪些价值,比如我们用价值为 1,4,5 的硬币凑成了k = 10 ,那么我们使用这三个硬币可以凑成价值有 0 ,1 ,4 ,5,6, 9,10;思路:dp[i][j][k]:前i个凑出和为j的时候对原创 2021-04-08 00:47:50 · 185 阅读 · 0 评论 -
D. Round Subset(整除+dp)
https://www.luogu.com.cn/problem/CF837D思路:末尾为0的个数,乘0是不会产生贡献的。产生贡献的其实就是质因数分解2和5,且乘下来0的个数由min(sum2,sum5)决定。于是就成了暴力跑背包取0,5个数。空间不够。所以要滚动数组。#include<iostream>#include<vector>#include<queue>#include<cstring>#include<原创 2021-02-28 15:11:00 · 215 阅读 · 0 评论 -
E. Sleeping Schedule(背包模型+初始化)
https://codeforces.com/problemset/problem/1324/E给定正整数序列a,对于每个数可以选择是否−1,问答案%h处于[l.r]之间最多的次数。思路:第一眼看到像个dfs,那么要优化的就是记忆化搜索,改成dp。类似背包.dp[i][j]:对于当前第i个物品,处于j这个时间段的最大次数。如果取a[i],对应从j-a[i]+h %h,如果取a[i]-1,对应取j-a[i]+1+h %h。但是如果直接这么做是存在问题的。因为刚开始有些状态就是不合法的。...原创 2021-02-10 00:14:34 · 231 阅读 · 0 评论 -
2020ccpc 威海 Clock Master(多个数的lcm+分组背包)
题目大意:给出一个数字 n ,要求分解成:a[ 0 ] + a[ 1 ] + ... + a[ m ] = n,( m 没有约束 ),使得 lcm( a[ 0 ] , a[ 1 ] , ... a[ m ] ) 最大,输出这个最大值的对数思路:将n分解成m个数之后,问题就变成了如何求m个数的lcm。有一种做法是用gcd(a,b)*lcm(a,b)==a*b。但是将m个数进行质因数分解更为普遍。即那么m个数,每一个数都可以这样分解。那么m个数的lcm就是每个质因子的最大cnti对应的乘积.原创 2020-10-27 21:28:14 · 328 阅读 · 0 评论 -
P1833 樱花(混合背包+二进制优化板子)
https://www.luogu.com.cn/problem/P1833思路:首先比较容易想到是取和不取的背包问题,其次发现里面有完全背包和多重背包。所以朴素的做法就是当前物品是多重背包时候,用多重背包的解法,当前背包是完全背包时候,用完全背包的解法。这样会T两个点。当然你开O2可以过,但是没必要。#include<iostream>#include<vector>#include<queue>#include<cstring>#in原创 2020-10-08 16:52:07 · 163 阅读 · 0 评论 -
问题 D: 小李打怪兽(01背包)
时间限制: 1 Sec内存限制: 128 MB提交: 115解决: 54[提交] [状态] [讨论版] [命题人:外部导入]题目描述小李对故乡的思念全部化作了对雾霾天气的怨念,这引起了掌控雾霾的邪神的极大不满,邪神派去了一只小怪兽去对付小李,由于这只怪兽拥有极高的IQ,它觉得直接消灭小李太没有难度了,它决定要和小李在智力水平上一较高下。我们可否帮助小李来战胜强大的怪兽呢?...原创 2020-01-29 21:39:48 · 806 阅读 · 1 评论 -
像我这种垃圾都能慢慢看懂的动态规划讲解(从01)背包入手
https://www.imooc.com/article/283103#comment以后我熟练之后会尝试写的原创 2020-01-17 18:54:25 · 118 阅读 · 0 评论 -
younik吃大餐
链接:https://ac.nowcoder.com/acm/contest/7031/G来源:牛客网题目描述Younik的检查结果出来了,核酸检测为阴性,她非常高兴,立刻决定去饭店大吃一顿。到了饭店,Younik看到琳琅满目的菜单,开始犯了选择困难症。这时作为顶级吃货的你恰好坐到了Younik的旁桌,你决定发扬一下雷锋精神,帮助Younik决定吃哪些菜。假设每一道菜都有相应的快乐值,Younik每吃一道菜就会获得相应的快乐值,这里有N道菜,每道菜可以吃多次,但是同一道菜每重复吃一次,得到的.原创 2020-08-16 21:17:04 · 179 阅读 · 0 评论 -
The more, The Better(树上DP+依赖性背包)
HDU – 1561ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应该攻克哪M个城堡吗?Input每个测试实例首先包括2个整数,N,M.(1 <= M <= N <= 200);在接下来的N行里,每行包括2个整数,a,b. 在第 i 行,a 代表要攻克第 i 个城堡必须原创 2020-08-07 00:31:42 · 210 阅读 · 0 评论 -
P1757 通天之分组背包
https://www.luogu.com.cn/problem/P1757题目背景直达通天路·小 A 历险记第二篇题目描述自0101背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于0101背包,他的物品大致可分为kk组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。输入格式两个数m,nm,n,表示一共有nn件物品,总重量为mm。接下来nn行,每行33个数a_i,b_i,c_iai,bi,ci,表示物品...原创 2020-07-26 20:04:55 · 556 阅读 · 0 评论 -
P1507 NASA的食物计划
https://www.luogu.com.cn/problem/P1507题目背景NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生,谁也无法保证,在遇到这类航天问题时,解决方法也许只能让航天员出仓维修,但是多次的维修会消耗航天员大量的能量,因此NASA便想设计一种食品方案,让体积和承重有限的条件下多装载一些高卡路里的食物.题目描述航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱,每件食原创 2020-07-26 20:03:03 · 142 阅读 · 0 评论 -
P1049 装箱问题
https://www.luogu.com.cn/problem/P1049题目描述有一个箱子容量为VV(正整数,0 \le V \le 200000≤V≤20000),同时有nn个物品(0<n \le 300<n≤30,每个物品有一个体积(正整数)。要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式11个整数,表示箱子容量11个整数,表示有nn个物品接下来nn行,分别表示这nn个物品的各自体积输出格式11个整数,表示箱子剩余空间。输入原创 2020-07-21 15:35:29 · 130 阅读 · 0 评论 -
P1541 乌龟棋
题目背景小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。题目描述乌龟棋的棋盘是一行NN个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第NN格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中MM张爬行卡片,分成4种不同的类型(MM张卡片中不一定包含所有44种类型的卡片,见样例),每种类型的卡片上分别标有1,2,3,41,2,3,4四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子数。游戏中,玩家每次需要从所有的爬行卡片中选择一张之前没有使用过的爬行原创 2020-07-20 20:52:05 · 251 阅读 · 0 评论