01背包变题 | #装箱问题#

装箱问题

https://www.nowcoder.com/practice/c990bd0bf8e04bfbb19c0964401c8f77

#include <bits/stdc++.h>
using namespace std;
 


/**

有一个箱子容量为 V ,同时有n个物品,每个物品有一个体积(正整数)。每个物品只能使用一次。
要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

*/

 
int main()
{

    int V,n;
    cin>>V>>n;
    vector<int> a(n); 
    int no = 0;
    vector<int> dp(V+1,no); 
    for(int i=0;i<n;i++) 
        cin>>a[i];
    for(int i=0;i<n;i++) {
        for(int j=V;j>=a[i];j--)
            dp[j] = max(dp[j],dp[j-a[i]]+a[i]);
    }
    cout << V- dp[V] <<endl;
    
    return 0;
}

算法常用解题技巧 文章被收录于专栏

算法常用解题技巧

全部评论

相关推荐

01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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