计算机算法设计与分析-复习16
计算机算法设计与分析-复习16(0-1背包问题)
前置知识
支配问题
注:支配规则中需要考虑等号
单调递增问题
注:序偶需要同时保证pi,wi均递增有序
动态规划-序偶解决0-1背包问题
- 先算Si,再算S1i,S1i代表放入第i个物品
- 如果来源于Si-1,代表没有选择该物品
- 如果来源于S1i,代表第i个背包被放进去了,要还原
- 从最后的序偶开始倒推
- 注意支配和总容量M
例题
启发式方法解决0-1背包问题
- 大于等于估计值的序偶才可以留下来(删掉P + PLeft(i) < L的序偶)
- 期望值的选择L为先做一遍无启发式背包问题,得到最后序偶的P。L不要超过M。
例题
致谢
[1] 以上图片来自于中国科学院大学马丙鹏老师计算机算法设计与分析课程