
动态规划
动态规划
就是爱吃肉ro
真正喜欢的人和事 都值得我们去坚持
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ_2411 MondriaansDream ( 状压dp )
文章目录题意题解代码 vj or poj 题意 给定 n * m 的方格棋盘, 用 1*2 的矩形不重叠地覆盖这个棋盘, 求覆盖满的方案数 题解 位运算结合状态压缩, 比较复杂 引用 二进制数(####)代表填完一行后这一行的状态,填满的地方为1,未填的地方为0。 显然在填第i行时,能改变的仅为第i-1行和第i行,因此要满足在填第i行时,第1~i-2行已经全部填满。 ...原创 2019-12-12 07:39:57 · 124 阅读 · 0 评论 -
POJ_2228 Naptime ( 环状dp )
文章目录题意题解代码 vj or poj 题意 一天由n个小时构成,在第i个小时睡觉能够恢复Ui点体力。有一头牛要休息b个小时,可以不连续,但休息的第1个小时无法恢复体力。前一天的最后一个小时和第二天的第一个小时是连在一起的,求这头牛能恢复的体力最大值。 也就是说, 给定一个有 n 个数的环, 需要刚好找 m 个数字, 使得这 m 个数和最大 题解 理解都写在注释里 状态数组 f[N][B][2]...原创 2019-12-11 20:04:14 · 242 阅读 · 0 评论 -
URAL_1018 BinaryAppleTree ( 树形dp )
文章目录题意题解代码 vj or URAL 题意 给定一个以1为根节点共有 n 个结点的树, 去掉一些边, 最后剩下 m 条边, 使得所剩边权和最大 题解 按照题目要求建标准二叉树, 用 vector 存图, 保存左右两个子节点 根据题目问题可以设计基本状态 dp[i][j],表示在第i节点下包含j条树枝最多可有多少个苹果。 根据状态易得状态转移方程: ...原创 2019-12-11 18:58:05 · 236 阅读 · 0 评论 -
AcWing_282 石子合并 ( 区间dp )
文章目录题意题解代码 题目连接 AcWing 题意 题解 代码原创 2019-11-28 15:12:46 · 123 阅读 · 1 评论 -
HDU_1087 SuperJumpingJumpingJumping ( dp | 递增序列最大和 )
文章目录题意题解代码 题目连接 hdu or vj 题意 多组输入给定区间, 求递增序列的最大和 题解 首先这个只是递增序列, 不需要连续 这样, dp的时候, 两个状态, 选或者不选, 每次维护一个数的时候, 维护这个数字之前所有数字的最大和数组 代码 #include <bits/stdc++.h> using namespace std; #define sc scanf ...原创 2019-11-26 10:42:14 · 135 阅读 · 0 评论 -
计蒜客 awnKswater ( 完全背包问题 | 最小花费 | 记录最大重量 )
文章目录题意题解代码 题目连接 nowcoder 题意 买水, 给定 n 种水, 至少需要的水的重量 m 问 用最少的钱买尽量多的水 的钱数 和 水重量 题解 首先, 需要明确一点 买的水至少是m, 比如当m=5时, 3元 买 5单位 3元 买 6单位 3元 买 100单位 这时候答案是 3 100, 需要用尽量少的钱买尽量多的水 求最小花费好求, 只需要将递推数组初始化为无穷大, dp[0]...原创 2019-11-26 11:03:08 · 805 阅读 · 1 评论 -
HDU_2844 Coins ( dp | 多重背包问题 )
文章目录题意题解代码 题目连接 hdu or vj 题意 题解 代码 #include <bits/stdc++.h>原创 2019-11-21 23:55:48 · 137 阅读 · 0 评论 -
HDU2546 饭卡 ( dp | 01背包问题 | 绕了一小下 )
@ [toc] 题目连接 题意 每种物品只能取一次, 背包容量大于等于 5 才能消费成功, ( 不够5即使可以装入背包也不能消费 ) 求背包最小容量( 可以为负 ) 多组输入, 第一行 物品种类数 n, 第二行 n 种物品价值, 第三行 背包容量 m 题解 代码 #include <bits/stdc++.h> using namespace std; #define rg reg...原创 2019-11-20 22:13:30 · 136 阅读 · 0 评论 -
HDU_1114 PiggyBank ( dp | 完全背包问题 )
文章目录题意题解代码 题目连接 hdu or vj 题意 给 T 组 样例, 每组第一行 空罐的重量, 装满的重量 每组 n 种 物品 价值, 重量 求 最小价值 题解 数量不限, 那么完全背包问题板子直接上, 不过这个是求的最小价值 那么来想一下, 求最大价值的时候, dp[] 数组是全都清零 那么求最大值, 就需要初始化为 -INF, 但是这样还漏掉了一点, 接着看, 来模拟一下, 第一件物品...原创 2019-11-18 21:29:53 · 176 阅读 · 0 评论 -
POJ_3624 CharmBracelet ( dp | 01背包问题 )
文章目录题意题解代码 题目连接 vj or poj 题意 n 种只有一个的物品 , 一个容量为 m 的背包, 求背包最大收益 题解 01背包问题板子, 详见 另一篇 背包问题总结 代码 // #include <bits/stdc++.h> #include <iostream> #include <algorithm> using namespace std...原创 2019-11-16 19:44:57 · 154 阅读 · 0 评论 -
背包问题 的一些思考 + 模板理解
文章目录 背包问题 01背包 完全背包 多重背包 分组背包 背包问题 01背包 完全背包 多重背包 分组背包原创 2019-11-10 21:22:55 · 492 阅读 · 0 评论 -
CodeForces_455A Boredom ( 基础dp )
文章目录题意题解代码 题目连接 vj or cf 题意 题解 代码原创 2019-11-14 17:41:58 · 256 阅读 · 0 评论 -
HDU_1176 免费馅饼 ( 简单动态规划 | 数塔问题 )
文章目录题意题解代码 题目连接 hdu or vj 题意 求同一秒在同一点上最大数量 题解 首先我们需要有一个解决问题的入口, 也就是起点, 求 t秒内某一点最大数量, 那么我们可以分解为一个更小的问题, 先求第 0 秒 每个点的最大数量 ,再求 第 1 秒 , 第 2 秒, 直到最后一秒, 但是, 我们并不知道最后一步会停在哪儿, 所以不能正序从第 0 秒 先求第 t 秒某一点的最大数量, 保...原创 2019-11-11 22:00:58 · 218 阅读 · 0 评论