1.问题
整数规划问题,0-1 背包问题
2.解析
思路:轻者先装,直到再装任何集装箱将使轮船载重量超过 C 时停止
定理:对于任何正整数 k,算法(轻者先装)对 k 个集装箱的实例得到
最优解。
3.设计
for(int i = 0; i < n; i++){
for(int j = m; j >= 0 ; --j){
if(j >= w[i]){
dp[j] = max(dp[j], dp[j - w[i]] + v[i]);
}
}
}
4.分析
O(nlogn)
5.源码
01背包