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;
}

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

算法常用解题技巧

全部评论

相关推荐

06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
07-15 11:35
门头沟学院 Java
心里踏实多了,可以安心准备论文了
看不见我ffgh:牛哇佬,要不要来试一试pdd,部门氛围很好
京东开奖153人在聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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