题解 | #[NOIP2001]装箱问题#

[NOIP2001]装箱问题

https://www.nowcoder.com/practice/55100a6608ad4656849dbd1f16d044cb

#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;
//目的就是计算能够装的最大体积
//首先定义dp[j]表示箱内容量为j时体积最大值
int main() {
    int m;
    int n;
    cin>>m>>n;
    int v[n];
    vector <int> dp(m+1,0);
    for(int i=0;i<n;i++){
        cin>>v[i];
    }
    for(int i=0;i<n;i++){
        for(int j=m;j>0;j--){
            if(v[i]<=j){
                dp[j]=max(dp[j],dp[j-v[i]]+v[i]);
            }
        }
    }
    cout<<m-dp[m];
    return 0;
}
// 这段代码完全可以背诵

全部评论

相关推荐

11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务