P1049 装箱问题(01背包)

P1049 装箱问题

  • 要使得箱子的剩余空间最小,所占空间需要最大值
  • 问题转换为:任取若干个装入箱内,占用最大空间
  • 每个物品价值和体积都为v
#include<iostream>
#include<algorithm>

using namespace std; 

const int N = 2e4 + 10;

int n,m;
int f[N];

int main(){
    cin >> m >> n;
    for(int i = 1; i <= n; i ++ ){
        int v,w; cin >> v;
        for(int j = m; j >= v; j -- ){
            f[j] = max(f[j],f[j - v] + v);
        }
    }
    cout<<m - f[m];    
    return 0;
} 
全部评论

相关推荐

不愿透露姓名的神秘牛友
08-07 14:45
点赞 评论 收藏
分享
07-20 21:57
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
这一生如履薄冰:产品经理现在都要会微调大模型了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务