动态规划
文章平均质量分 80
动态规划部分的学习笔记
Texcavator
会慢慢慢慢慢慢学会的!
展开
-
【动态规划】单调栈 / 单调队列优化dp
在dp中的具体使用方法就是把前面计算过的dp值存进数据结构中进行维护。原创 2024-03-12 13:29:55 · 462 阅读 · 0 评论 -
【动态规划】最长上升子序列 LIS
算法提高课笔记。原创 2023-08-09 16:30:37 · 89 阅读 · 0 评论 -
【动态规划】数字三角形
算法提高课课堂笔记。原创 2023-08-09 07:50:30 · 78 阅读 · 0 评论 -
【动态规划】计数DP
一个正整数 n 可以表示成若干个正整数之和,形如:n=n1+n2+…+nk,其中 n1≥n2≥…现在给定一个正整数 n,请你求出 n 共有多少种不同的划分方法。(意思就是不选 i + 选一个 i + 选两个 i + ……从1 - n 中选物品,每种物品有无数个,背包容量 n。由于答案可能很大,输出结果请对 109+7 取模。我们将这样的一种表示称为正整数 n 的一种划分。共一行,包含一个整数,表示总划分数量。这个问题可以转化成完全背包问题。共一行,包含一个整数 n。原创 2023-07-21 22:11:01 · 39 阅读 · 0 评论 -
【动态规划】区间DP
例如有 4 堆石子分别为 1 3 5 2, 我们可以先合并 1、2 堆,代价为 4,得到 4 5 2, 又合并 1、2 堆,代价为 9,得到 9 2 ,再合并得到 11,总代价为 4+9+11=24;每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。如果第二步是先合并 2、3 堆,则代价为 7,得到 4 7,最后一次合并代价为 11,总代价为 4+7+11=22。状态转移方程需要枚举区间内的点 k ,合并。原创 2023-07-12 11:12:24 · 37 阅读 · 0 评论 -
【动态规划】背包问题
每件物品只有一个,不断对第 i 个物品的状态做出决策,0 / 1 表示选 or 不选。原创 2023-07-11 11:37:21 · 399 阅读 · 0 评论 -
【动态规划】线性DP
给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。表示的是在 A 中的前 i 个字符和 B 中的前 j 个字符里选,最长公共子序列的长度是多少。给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。第二行包含一个长度为 N 的字符串,表示字符串 A。原创 2023-07-11 11:53:43 · 28 阅读 · 0 评论