1、确定dp数组以及下标的含义
2、确定递推公式
3、dp数组如何初始化
4、确定遍历顺序
5、举例推导dp数组
01背包:当选取集合s,集合容量有限制w,要求计算集合对应的某个数值v。dp[j]记录j容量下的值v。注意dp使用一维数组时要逆序,防止重复选取元素。计算v会根据情况而变,如最大收益、数字总和、元素个数等
如416:分割等和⼦集
- 选取的集合是所有数字的子集
- 容量是总和的一半
- 集合对应的数值是集合元素的和
如494:目标和
- 选取的集合是所有数字的子集
- 容量是target和sum的一半
- 集合对应的数值是 选取元素使和为j的不同组合数