DP
简单dp的状态比较容易表示,转移方程也比较好想。
通常包括四种类型:递推,背包,LIS(最长递增序列),LCS(最长公共子序列)
递推一般形式比较单一,从前往后,分类枚举就行。
其中背包又分为01背包,分组背包,完全背包,多重背包。
01背包:
状态方程:01背包体积要从v---0
dp[i][j]=max(dp[i-1][j],dp[i-1][j-v[i]]+val[i]);
dp[j]=max(dp[j],dp[j-v[i]]+val[i]);
完全背包:
完全背包与01背包唯一区别就是01背包的物品每个只能取一次,而完全背包可以取无限次
dp[i][j]=max(dp[i-1][j],dp[i][j-v[i]]+val[i])
dp[j]=max(dp[j],dp[j-v[i]]+val[i]);