news 2026/10/9 2:02:21

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一轮复习——F.动态规划模型总结(入门篇)

入门DP

基本思考方式:

选或不选

枚举选哪个

爬楼梯

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

题目及其解析👇

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

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

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

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

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

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

打家劫舍

选或不选:

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

优化方式→式子合并:dp[i]=dp0[i-1]+dp1[i-1];

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

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

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

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

优化方式→式子合并:dp[i]=max(dp[i+1],dp[j+1]+nums[i][0])

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

注:爬楼梯类型属于②

题目及其解析👇

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

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

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

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

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

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

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

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

以 i 位置结尾……

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

因此只与前一个状态dp[i-1]有关

dp[i]=Math.max(dp[i-1]+x,x);→也可写成dp[i]=Math.max(dp[i-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.乘积最大子数组

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/9 2:02:00

Ceres Solver VS2019预编译库配置:依赖链解析与避坑指南

简介:面向Windows平台上配置Ceres求解器的开发者,这份资源是使用Visual Studio 2019预先编译好的库文件集合,同时提供debug与release版本,可直接配合配套教程完成环境搭建,免去从源码编译的繁琐流程。包内共432个文件&…

作者头像 李华
网站建设 2026/10/9 2:01:48

ProgRouter:多Agent工作流在线进度引导与成本控制

多 Agent LLM 工作流正在从一个“炫技概念”变成真实业务里的基础设施:规划 Agent 拆任务,编码 Agent 写代码,审查 Agent 找问题,如此循环。但凡是真正把这个流程跑上线的团队,几乎都会撞到同一个矛盾:Agen…

作者头像 李华