DP大概

DP概念

  1. 重叠子问题
  2. 最优子结构

DP编程方法

  1. 自顶向下递归求解+记忆化
  2. 自底向上递推

DP设计过程重点

  1. DP状态设计
  2. DP状态转移方程

DP实现难点

  1. 滚动数组缩减一位维
  2. 状态转换 eg : 花费范围小可转化为 dp[i] 表示花费i元的最大价值

DP背包

  1. 01背包
  2. 分组背包(01背包基础上分了组)pihua
  3. 完全背包
  4. 多重背包 (二进制优化)

经典线性DP

  1. 最长公共子序列LCS
  2. 最长递增子序列LIS
  3. 编辑距离(s1变为s2的最少步骤)
  4. 最小划分(序列s 划分为s1,s2使之最...)
  5. 矩阵最长递增路径
  6. 子集和问题
  7. 最优游戏策略
  8. 最短公共超序列

数位 dp

区间 dp

树形 dp

插头 dp

posted @ 2024-11-21 22:11  流氓兔LMT  阅读(1)  评论(0编辑  收藏  举报