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

[NOIP2001]装箱问题

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

#include<iostream>
#include<vector>
using namespace std;
int main(){
    int weight,n,maxw=0;
    cin>>weight>>n;
    int w[n];
    for(int i=0;i<n;i++)
        cin>>w[i];
    vector<int> dp(weight+1,0);
    for(int i=0;i<n;i++)
        for(int j=weight;j>=w[i];j--)
        {
            dp[j]=max(dp[j],dp[j-w[i]]+w[i]);
            maxw=max(maxw,dp[j]);
        }
    cout<<weight-maxw<<endl;    
}
//dp[i][j]:把前i件物品放进总重为j的背包的最大重量
//动态转移方程:dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+w[i])
//空间优化:滚动数组dp[j]=max(dp[j],dp[j-w[i]]+w[i])

全部评论

相关推荐

运营你豪哥:简历改改吧-非本、求职意向技术岗、无实习经历、内容空洞 如果简历不爆改的话,应该是会持续崩溃了 1.把你教育经历放最下面去 2.蓝底照片很奇怪哈,感觉还在高中时代,建议白底重新拍一下 3.校园经历没啥必要,收集和反馈同学们对产品的意见,解决学生和老师之间的沟通,企业招聘不看这些哈 好好思考一下简历的设计和你要表达的重点,再去投简历
点赞 评论 收藏
分享
05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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