一轮复习——F.动态规划模型总结(入门篇)

入门DP

基本思考方式:

选或不选

枚举选哪个

爬楼梯

枚举最后选哪个:当前状态 i (取x)=之前所有可能状态(取 i - x)的累加和
题目及其解析👇

F.动态规划-入门DP-爬楼梯:70. 爬楼梯

动态规划算法-斐波那契数列模型:3.使用最小花费爬楼梯

F.动态规划-入门DP-爬楼梯:3693. 爬楼梯 II

动态规划算法-似包非包:59.组合总数Ⅳ

F.动态规划-入门DP-爬楼梯:2466. 统计构造好字符串的方案数

F.动态规划-入门DP-爬楼梯:2266. 统计打字方案数

打家劫舍

选或不选:

①方案数型:前一个选或不选的方案数和

优化方式→式子合并:dpi=dp0i-1+dp1i-1;

例题:F.动态规划-入门DP-打家劫舍:2320. 统计放置房子的方式数(有优化详解)

②累加和型:前一个选或不选的最大值+当前贡献

优化方式→单变量更新:dp=max(dp0+x,dp1);dp0=dp1;dp1=dp0;

例题:F.动态规划-入门DP-打家劫舍:198. 打家劫舍(有优化详解)

优化方式→式子合并:dpi=max(dpi+1,dpj+1+numsi0)

例题:F.动态规划-入门DP-打家劫舍:2140. 解决智力问题(有优化详解)

注:爬楼梯类型属于②
题目及其解析👇

F.动态规划-入门DP-打家劫舍:198. 打家劫舍(累加和型)

动态规划算法-简单多状态dp问题:11.按摩师(累加和型)

动态规划算法-简单多状态dp问题:12.打家劫舍Ⅱ(累加和型)

F.动态规划-入门DP-打家劫舍:2320. 统计放置房子的方式数(方案数型)

动态规划算法-简单多状态dp问题:13.删除并获得点数(累加和型)

F.动态规划-入门DP-打家劫舍:3186. 施咒的最大总伤害(删除并获得点数的Plus版,优化方式在于对两个式子的整合,与之前的不同)

F.动态规划-入门DP-打家劫舍:2140. 解决智力问题(与施咒的最大总伤害基本相同,区别点已在博文内列出)

最大子数组和(最大子段和)

以 i 位置结尾......

由于 以 i 位置结尾时只有两种选择:继续接 或 重新开始

因此只与前一个状态dpi-1有关

dpi=Math.max(dpi-1+x,x);→也可写成dpi=Math.max(dpi-1,0)+x;

可以用单一变量代替原本的数组来更新:

dp=Math.max(dp+x,x);→dp=Math.max(dp,0)+x;

注:乘法时不可以写成dp=Math.max(dp,0)×x;因为会有负负得正的情况,

因此要老老实实写dp=Math.max(dp×x,x)
题目及其解析👇

动态规划算法-子数组、子串系列:19.最大子数组和(模板题)

模板题的变形题👇

①整理一下"和"的定义:

F.动态规划-入门DP-最大子数组和(最大子段和):2606. 找到最大开销的子字符串

②求nums和的绝对值的最大值:

F.动态规划-入门DP-最大子数组和(最大子段和):1749. 任意子数组和的绝对值的最大值

③拼接 k 个相同的 nums:

F.动态规划-入门DP-最大子数组和(最大子段和):1191. K 次串联后最大子数组之和

④nums 是个环形数组:

动态规划算法-子数组、子串系列:20.环形子数组的最大和

⑤删除 nums 中的至多一个数:

F.动态规划-入门DP-最大子数组和(最大子段和):1186. 删除一次得到子数组最大和

⑥从nums1和nums2的差值数组中抽像出一个nums:

F.动态规划-入门DP-最大子数组和(最大子段和):2321. 拼接数组的最大分数

⑦求"最大和"改为"求最大积":

动态规划算法-子数组、子串系列:21.乘积最大子数组

相关推荐
她的男孩1 小时前
打印模板草稿能保存,一点发布就报主从关系:我们把校验拆成了两档
java·spring boot·后端
小鹿的周先生1 小时前
第19章-Agent
java·spring·ai
溪语流沙1 小时前
【Web全栈进阶】FastAPI工程化:APIRouter拆分 + 配置 + 依赖注入
java·前端·fastapi
YonyouHRSaaS1 小时前
2026年10-11月AI面试选择指南:对国内主流AI面试系统进行对比,看看哪个更值得选!
人工智能·面试·职场和发展·hr·ai面试
Frank_refuel1 小时前
【C++】智能指针
开发语言·c++
写后端的胖头鱼1 小时前
Redis 的 RDB 和 AOF
java·数据库·redis
cxoptics1 小时前
LBO 激光损伤阈值 LIDT 典型数值?如何避免晶体打坏?
java
泡海椒1 小时前
JQuick-Excel VALIDATION 实战:用作用范围约束 Excel 导入校验
开发语言·python·excel
逐米时代2 小时前
远程运维诊断减少到场率
java·服务器·前端