当前位置: 首页 > news >正文

重练算法(代码随想录版) day32 - 动态规划part1

今日刷题量:3
当前刷题总量:130
Easy: 59
Mid: 64
Hard: 7

Day32
基础理论
如果题目大致符合这些特征,可以优先往dp上想:

  • 求最值/计数/可行性:最大值、最小值、方案数、是否能做到……
  • 问题可以拆成子问题:整题答案可以由更小规模的“类似问题”组合出来。
  • 子问题会重复出现:比如「前 i 个」的各种情况,或者某个状态会被多次用到。
  • 约束规模:
    • n <= 1e3/1e4 且暴力明显超时 → 很有可能是 DP
    • n <= 2^20 左右,有“子集”、“选择若干” → 可能是状态压缩 DP

动态规划五步曲:
1.确定dp数组(dp table)以及下标的含义
dp[状态]表示某种含义,常见方式如下:

  • 一维:dp[i] 表示:考虑前 i 个元素时,能得到的某个最值/计数

    • 例:爬楼梯:dp[i] = 到第 i 级台阶的方案数
  • 二维:dp[i][j] 表示:考虑前 i 个元素,当前某个“资源/限制”为 j 时的答案

    • 例:0-1 背包:dp[i][w] = 前 i 件物品,背包容量为 w 的最大价值
  • 区间类:dp[l][r] 表示:区间 [l, r] 上的最优值/方案数

  • 状态压缩:dp[mask]、dp[i][mask]:mask 是一个 bitmask,表示某些元素的选/不选、某些位置的状态。

2.确定递推公式
写出状态转移,思考当前状态从哪些上一个状态转移过来
列举所有可能的决策:

  • 选 / 不选
  • 从哪里转移过来
  • 合并哪两个区间
  • 转到哪一个子集

注意处理无效状态:

  • 一般会初始化为 -INF / INF,或者用布尔数组标记某状态是否可达

3.dp数组如何初始化
核心确定初始化和边界条件

  • 找到最小子问题,把它的值写死:

    • 从 0 开始:f[0] = 0 / 1 等
    • 从空集开始:f[0] = ...
    • 从单个元素开始:f[i][i] = base(区间 DP)
  • 另外比如:

    • 当 j(比如容量)为 0 时,啥意思?背包体积为 0,只能装 0 价值 → f[*][0] = 0
    • 当 mask = 1<<start 时,路径从起点出发。
    • 可以把 DP 表画个小样(比如 i, j 不超过 3~4),手算几格,对照转移是否成立。

4.确定遍历顺序
遍历顺序要配合转移依赖:

  • 如果 f[i] 依赖 f[i-1]、f[i-2],那 i 从小到大。
  • 区间 DP:len 从小到大,l 从 1 到 n-len+1,r = l+len-1。

5.举例推导dp数组

练习题目
509. 斐波那契数(easy):https://leetcode.cn/problems/fibonacci-number/description/
70. 爬楼梯(easy):https://leetcode.cn/problems/climbing-stairs/description/
746. 使用最小花费爬楼梯 (easy):https://leetcode.cn/problems/min-cost-climbing-stairs/description/

复习
数组part1

http://www.jsqmd.com/news/63968/

相关文章:

  • 2025年辽宁省工商注册机构排行:知名的工商注册品牌企业有哪
  • 什么平台可以修改发布文章的时间?网页的时间可以修改吗?
  • 2025 年 12 月二手压铸机厂家权威推荐榜:力劲/伊之密/锌合金/铝合金/热室/冷室压铸机买卖回收,精选耐用机型与高性价比之选
  • 2025玻璃钢拉挤型材源头厂家TOP5权威推荐:甄选高性价比
  • 2025年辽宁省口碑不错的工商注册公司推荐:服务不错的工商注
  • Obsidian的Bases数据库入门教程,使用数据库实现Todo待办管理系统
  • 2025年12月AI智搜GEO服务商权威推荐榜:福州/莆田/三明地区智能搜索推广与排名优化专家深度解析
  • Proxmox Datacenter Manager 1.0 发布 - 集中管理 Proxmox 虚拟化环境
  • 量化图像“概念相似性”的新方法
  • PbootCMS网站修改CSS样式后自动更新缓存
  • pbootcms模板获取指定栏目下面的所有单页内容(PbootCMS模板获取指定栏目下所有单页内容的方法)
  • 2025 年 12 月软件开发公司权威推荐榜:小程序开发/APP开发,匠心定制与创新技术融合的卓越服务商精选
  • Rocky Linux 9.7 发布 - RHEL 100% 完全兼容免费发行版
  • 2025年玻璃钢拉挤型材推荐厂商排名:正规定制厂家全解析
  • 基于融智学双重形式化的汉字汉语数学建模技巧
  • 2025 年 12 月饲料厂家权威推荐榜:牛羊猪禽反刍特种发酵饲料,东北辽宁地区实力品牌深度解析与选购指南
  • 2025年哈尔滨音乐艺考机构推荐,音乐艺考机构哪家口碑好、选
  • 2025年建筑资质办理服务排名与解析,看看哪家服务专业?
  • Cisco Secure Firewall 3100 Series FTD Software 7.7.11 - 思科 Firepower 威胁防御系统软件
  • Cisco Secure Firewall 4200 Series FTD Software 7.7.11 - 思科 Firepower 威胁防御系统软件
  • Cisco Secure Firewall 1200 Series FTD Software 10.0.0 ASA Software 9.24.1
  • DVWA 靶场全通关
  • STM32外设学习--TIM定时器--输入捕获---测频办法。
  • 2025 年 12 月张力器厂家权威推荐榜:伺服/磁力/张力控制器/张力计/放线架等精密设备源头实力解析
  • Cisco Secure Firewall Threat Defense Virtual 7.7.11 - 思科下一代防火墙虚拟设备 (FTDv)
  • Cisco Firepower 4100 Series FTD Software 7.7.11 - 思科 Firepower 威胁防御系统软件
  • PbootCMS邮件配置修改发件人信息
  • 2025年12月刀模厂家权威推荐榜:雕刻刀模/蚀刻刀模/激光刀模/圆压圆刀模/夹治具/精密模具,匠心工艺与高效定制解决方案深度解析
  • 2025年12月刀模厂家权威推荐榜:雕刻刀模/蚀刻刀模/激光刀模/圆压圆刀模/夹治具/精密模具,匠心工艺与高效定制解决方案深度解析
  • 湖南人必看!不止滑雪!七星岭国际滑雪场:萌宠+俄式表演+雪乡场景全打卡