"薛老师,动态规划怎么都学不会,怎么办?"
这是信奥赛学习中,最常见的问题。动态规划(DP)是CSP-J/S的核心考点,也是最容易卡住孩子的"拦路虎"。
今天,我们采访了60名一等奖学员,总结出他们学习DP的共同方法。希望能帮孩子跨过这道坎。
之前的算法(枚举、贪心)都是"怎么直接做",DP是"怎么记住之前的结果"。这种思维转换需要时间。
需要把问题抽象成"状态"、"转移"、"边界",对抽象思维能力要求很高。
背包、LIS、LCS、区间DP、树形DP...每个模型都有自己的特点,容易混淆。
能用手算的方式推导出DP过程,不急着写代码
能独立完成洛谷背包专题30题,理解一维优化的原理
理解状态定义的不同方式,能处理二维DP
理解"区间"作为状态的设计方法,掌握区间DP的模板
理解DFS+DP的结合,能处理树上的问题
| DP类型 | 平均刷题量 | 掌握时间 | CSP-J出现频率 |
|---|---|---|---|
| 背包问题 | 25题 | 1-2个月 | ⭐⭐⭐⭐⭐ |
| 线性DP | 20题 | 1个月 | ⭐⭐⭐⭐ |
| 区间DP | 15题 | 3-4周 | ⭐⭐⭐ |
| 树形DP | 12题 | 3-4周 | ⭐⭐ |
"我学DP时,前两周完全懵的。后来我用了一个方法:每道题先手算小数据,画出表格,理解每个格子怎么来的。画了20道题后,突然就开窍了。"
—— 小轩,CSP-J一等奖
"我把背包九讲看了三遍,每道例题都自己写一遍。第一遍懵,第二遍有点懂,第三遍突然明白原来就这么回事。"
—— 小然,CSP-J一等奖
"我建了一个DP错题本,把每道不会的题按类型分类。复习时只看错题本,效率特别高。"
—— 小桐,CSP-S一等奖
📞 如需获取《DP专题精选100题》及配套题解,可添加薛老师微信免费领取。