DP问题

  1. 线性DP;
  2. 区间DP;
  3. 背包DP;
  4. 树形DP;
  5. 状态压缩DP;
  6. 数位DP;
  7. 计数型DP;
  8. 递推型DP;
  9. 概率型DP;
  10. 博弈型DP;
  11. 记忆化搜索;

1. 线性DP

最经典单串:

300. 最长上升子序列 (LIS)

最经典双串:

1143. 最长公共子序列 (LCS)

经典问题:

120. 三角形最小路径和

53. 最大子序和

152. 乘积最大子数组

887. 鸡蛋掉落 (DP+二分)

354. 俄罗斯套娃信封问题 (隐晦的LIS)

打家劫舍系列: (打家劫舍3 是树形DP)

198. 打家劫舍

213. 打家劫舍 II

股票系列:

121. 买卖股票的最佳时机

122. 买卖股票的最佳时机 II

123. 买卖股票的最佳时机 III

188. 买卖股票的最佳时机 IV

309. 最佳买卖股票时机含冷冻期

714. 买卖股票的最佳时机含手续费

字符串匹配系列

72. 编辑距离

44. 通配符匹配

10. 正则表达式匹配

2. 区间DP

516. 最长回文子序列

730. 统计不同回文子字符串

1039. 多边形三角剖分的最低得分

664. 奇怪的打印机

312. 戳气球

3. 背包DP

416. 分割等和子集 (01背包-要求恰好取到背包容量)

494. 目标和 (01背包-求方案数)

322. 零钱兑换 (完全背包)

518. 零钱兑换 II (完全背包-求方案数)

474. 一和零 (二维费用背包)

4. 树形DP

124. 二叉树中的最大路径和

543. 二叉树的直径

337. 打家劫舍 III

5. 状态压缩DP

464. 我能赢吗

526. 优美的排列

935. 骑士拨号器

1349. 参加考试的最大学生数

6. 数位DP

233. 数字 1 的个数

902. 最大为 N 的数字组合

1015. 可被 K 整除的最小整数

7. 计数型DP

计数型DP都可以以组合数学的方法写出组合数,然后dp求组合数

62. 不同路径

63. 不同路径 II

96. 不同的二叉搜索树 (卡特兰数)

1259. 不相交的握手 (卢卡斯定理求大组合数模质数)

8. 递推型DP

所有线性递推关系都可以用矩阵快速幂做,可以O(logN),最典型是斐波那契数列

70. 爬楼梯

509. 斐波那契数

935. 骑士拨号器

957. N 天后的牢房

1137. 第 N 个泰波那契数

9. 概率型DP

求概率,求数学期望

808. 分汤

837. 新21点

10. 博弈型DP

策梅洛定理,SG定理,minimax

Nim游戏

292. Nim 游戏

石子游戏

877. 石子游戏

1140. 石子游戏 II

井字游戏

348. 判定井字棋胜负

794. 有效的井字游戏

1275. 找出井字棋的获胜者

11. 记忆化搜索

本质是 dfs + 记忆化,用在状态的转移方向不确定的情况

329. 矩阵中的最长递增路径

576. 出界的路径数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenxuezhou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值