问题:n 个物品,重量 wi,价值 vi,背包容量 C。每个物品只能选0个或1个。 状态定义:m[i][j] 表示可选物品为前 i 个,背包容量为 j 时的最大价值。 转移方程: m[i][j]={m[i−1][j]max{m[i−1][j], m[i−1][j−wi]+vi}j<wi (装不下)j≥wi (能装下,选或不选) 复杂度:O(nC)。 对比:如果物品可以分割(分数背包),则应使用贪心算法。