动态规划
字数: 0
Dynamic programming

相关概念

把原问题分解为相对简单的子问题,适用于某问题有很多重叠子问题。
每⼀个状态⼀定是由上⼀个状态推导出来的(考虑状态之间的关系式)
  • 确定 数组及下标含义
  • 确定递推公式
  • 数组如何初始化

算法应用

💡
最优化问题:寻找最大或最小值、总和、路径等。

最长公共子序列

Longest common subsequence, LCS, Leetcode LCR 095
notion image

最长回文子串

输入:s = “babad”;输出:“bab”“aba” 同样符合题意)

动态规划

表示字符串从第 个字母构成的子字符串
如果 是回文串,则也一定是回文串

中心拓展

notion image
枚举回文子串的中心位置
可能是一共字符
可能是两个相邻字符

背包问题

有一个固定容量的背包和一组物品,每个物品有自己的重量和价值。问题的目标是选择一些物品放入背包中,使放入背包的物品的总价值最大化,同时不能超过背包的容量限制。

01 背包问题

 
 
2023 - 2026