动态规划 MOC
动态规划学习地图:先建立状态与转移心智模型,再按线性 DP、背包、网格/双序列、区间/状态机、树形、数位与概率 DP 分组练习。
#moc
#growing
#algorithm
#dp
[!info] related notes
- 相关 MOC:
- 关系笔记:
- 相关资源:
动态规划 MOC
知识总览
filters:
and:
- 'file.ext == "md"'
- 'file.inFolder("z")'
- 'this.file.links.contains(file)'
- 'file.path != this.file.path'
formulas:
knowledge: 'file.asLink(title)'
properties:
formula.knowledge:
displayName: 知识
note.description:
displayName: Description
note.mastery:
displayName: Mastery
views:
- type: table
name: 知识总览
order:
- formula.knowledge
- note.description
- note.mastery
columnSize:
formula.knowledge: 280
note.description: 760
note.mastery: 56
覆盖范围
本地图负责组织动态规划的学习顺序、题型分组和练习入口。
DP 本身是什么、为什么能工作,统一回到 动态规划;具体题型和模板由各原子笔记承担。
推荐学习顺序
递归
↓
暴力搜索
↓
重叠子问题
↓
记忆化搜索
↓
状态定义 / 状态转移
↓
自底向上递推
↓
题型分类与空间优化
第一阶段:从递归理解 DP
练习目标:
同一道题尝试写出暴力递归 → 记忆化搜索 → 递推三个版本。
第二阶段:状态设计
重点区分:
- “前 i 个元素”的前缀型状态;
- “以第 i 个元素结尾”的结束位置状态;
- 二维前缀 / 网格坐标状态。
入口:
第三阶段:背包
第四阶段:网格与双序列
第五阶段:区间与状态机
第六阶段:进阶分支
每篇题目都按同一组问题复盘
- 状态表示什么?
- 转移来自哪些更小状态?
- 边界 / 初始化是什么?
- 遍历顺序为什么正确?
- 是否存在不可达状态?
- 能否压缩空间?
- 为什么这道题不是贪心 / 双指针 / 普通 DFS?
掌握路线
能看懂转移
→ 能从递归推导转移
→ 能独立定义状态
→ 能辨别题型
→ 能处理变式
→ 能解释边界和遍历顺序
具体 mastery 统一按 学习中的掌握 评估,不在 MOC 维护第二份评分。