1、01背包问题(每个物品只能选取一次)
题目
(1)分析法:
基本思路:第一步会将集合所有的集合进行划分。
动态规划的重要依据:从最后一步进行划分。
例如 :
f[i,j] 表示在所有考虑前i个物品,总体积不超过j的选法所有集合。
最后一步考虑的应为
1、选取第i个物品的情况 用集合表示为:
w[i]为第i个物品的价值,v[i]表示第i个物品站的体积
f[i-1,j - v[i]] + w[i] //除去第i个物品之后,第i - 1个物品可选取的所有集合
j - v[i] // 除去第i个物品的体积之后剩余的体积
2、不选取第i个物品的情况 f[i-1,j ]
转化为代码的重要点:F[i,j] = max(f[i - 1][j],f[i - 1][j - v] + w);!!!!
两