动态规划01背包问题:
0-value数组存放每个物品的价值,volume数组存放每个物品的体积。不能重复放同一个物品,所以不能用贪心算法按照所谓单位体积价值进行最优考虑。
1-设置一个二维数组,行数控制当前能放的物品件数,列数控制背包容量。
2-填每一个空格做一个比较,在当前容量下不妨这个物品的价值(也就是该列上一行)和放这个物品价值和剩余空间最大价值之和中间选择一个最大值。也就是a[i-1][j]和a[i-1][j-volume[i]]中间选择一个最大值。
动态规划01背包问题:
0-value数组存放每个物品的价值,volume数组存放每个物品的体积。不能重复放同一个物品,所以不能用贪心算法按照所谓单位体积价值进行最优考虑。
1-设置一个二维数组,行数控制当前能放的物品件数,列数控制背包容量。
2-填每一个空格做一个比较,在当前容量下不妨这个物品的价值(也就是该列上一行)和放这个物品价值和剩余空间最大价值之和中间选择一个最大值。也就是a[i-1][j]和a[i-1][j-volume[i]]中间选择一个最大值。