动态规划
文章平均质量分 91
2025.9.13
_dindong
黑夜从不漫长,总会有光照亮
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动规:二维费用背包+似包非包
本文介绍了几个二维费用背包问题的动态规划解法。主要包括"一和零"问题(统计字符串中0和1的个数限制下的最大子集)、"盈利计划"问题(在人数和利润限制下的可行方案数)、"组合总和IV"(带顺序的组合问题)以及"不同的二叉搜索树"问题(卡特兰数应用)。针对每个问题,文章给出了基本解法及其空间优化版本,重点讨论了二维费用背包问题的状态转移方程设计和优化技巧,包括倒序遍历、状态压缩等方法。这些解法展示了动态规划在处理多维约束问题时的灵活原创 2025-10-09 13:30:19 · 418 阅读 · 0 评论 -
动规:完全背包+多重背包
本文介绍了完全背包问题的算法实现及优化方法。主要内容包括:1. 完全背包模板代码实现,包括二维和一维数组解法;2. 零钱兑换问题的状态转移方程及初始化处理;3. 完全平方数问题的动态规划解法;4. 多重背包问题的处理技巧;5. 针对特定问题的优化策略,如哈希表预处理、倒序遍历等。文章通过具体代码示例展示了动态规划在背包类问题中的应用,并提供了空间优化思路,帮助理解背包问题的核心解决思路。原创 2025-10-08 02:54:23 · 1256 阅读 · 0 评论 -
动规:01背包
本文系统介绍了背包问题的分类及解法。背包问题是一类组合优化问题,核心是在限定条件下选择物品使总价值最大。文章详细分析了01背包、完全背包、多重背包等主要类型,并针对不同变体(如分组背包、二维费用背包)进行说明。通过动态规划实现方案,重点讲解了空间优化技巧(滚动数组)和初始化方法。提供了多个经典例题(如分割等和子集、目标和等)的代码实现,包括标准解法和优化解法。文章强调01背包是所有背包问题的基础,掌握其解法对其他变体的理解至关重要。原创 2025-10-05 14:04:26 · 656 阅读 · 0 评论 -
动规:两个数组dp系列
本文总结了8道字符串匹配相关的动态规划算法题,包括最长公共子序列、不相交的线、不同子序列、通配符匹配、正则表达式匹配、交错字符串等。主要采用二维DP表解法,通过状态转移方程处理字符串匹配问题,并介绍了边界处理、下标映射等技巧。所有问题都给出了对应的C++实现代码,展示了如何利用动态规划高效解决字符串匹配问题。原创 2025-10-03 22:07:02 · 896 阅读 · 0 评论 -
动规:回文串问题
本文总结了6个回文串相关的算法问题及解法:1)回文子串数量统计;2)最长回文子串查找;3)判断字符串能否分割为3个回文子串;4)最少分割次数使全为回文子串;5)最长回文子序列;6)最少插入次数使字符串成为回文串。核心思路是利用动态规划构建二维表,记录各区间回文信息(子串或子序列),通过填表顺序优化和状态转移方程求解。其中子串问题需连续字符,子序列问题则不需要。不同问题通过调整状态表示和转移条件实现,展现了动态规划在回文问题中的通用性和灵活性。原创 2025-09-29 12:10:26 · 794 阅读 · 0 评论 -
动规:子序列系列
本文介绍了常见的子序列动态规划问题及解法。主要内容包括:1. 最长递增子序列(LIS)的基本解法及变型;2. 摆动序列的双状态DP解法;3. 统计最长递增子序列个数的计数方法;4. 数对链问题转化为LIS的解法;5. 等差子序列的哈希表优化;6. 斐波那契子序列和等差子序列的二维DP解法。文章通过多个实例展示了如何利用动态规划解决各种子序列问题,并提供了详细的代码实现和优化思路。原创 2025-09-26 09:09:05 · 1473 阅读 · 0 评论 -
动规:子数组系列
本文总结了8道关于子数组和子序列的经典算法题目,包括最大子数组和、环形子数组最大和、乘积最大子数组等。每道题目都采用动态规划的思路,通过分析问题特点设计状态转移方程,并考虑了虚拟节点初始化、边界条件处理等细节。文章重点讲解了如何根据不同情况(如首尾相连、负数乘积等)调整动态规划表的构建方式,包括使用辅助表存储最小值或处理特殊情况。最后还介绍了哈希表在字符串匹配和去重中的应用。这些题目展示了动态规划在子数组问题中的灵活运用技巧。原创 2025-09-22 17:19:05 · 779 阅读 · 0 评论 -
动规:简单多状态模型
本文总结了多道动态规划问题的解题思路与代码实现,包括按摩师、打家劫舍II、删除并获得点数、粉刷房子以及买卖股票系列问题。文章通过状态转移方程和状态机分析,详细讲解了各类问题的解法,并提供了空间优化技巧。对于股票买卖问题,特别分析了含冷冻期、手续费和次数限制的情况,展示了如何通过创建多个状态表来处理复杂条件。所有解法均采用清晰的代码结构,便于理解和应用。原创 2025-09-18 20:36:15 · 836 阅读 · 0 评论 -
动规:路径问题模型
2025.9.14原创 2025-09-14 11:07:36 · 896 阅读 · 0 评论 -
动规:斐波那契数列模型
本文介绍了动态规划问题的解题步骤,包括状态表示、状态转移方程、初始化、填表顺序和返回值。通过斐波那契数列、三步问题、最小花费爬楼梯和解码方法四个经典例题,详细讲解了动态规划的实现方法,并给出了空间优化和代码优化的思路。文中强调边界条件处理、虚拟节点技巧在实际问题中的应用,为动态规划学习提供了清晰的解题框架和实用技巧。原创 2025-09-13 14:56:20 · 862 阅读 · 0 评论
分享