题解 | #[NOIP2001]装箱问题#动态规划

[NOIP2001]装箱问题

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

#include <bits/stdc++.h>
using namespace std;
int V,n;
int dp[50][20000];
int v[50];
int main()
{
    cin>>V>>n;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    for(int i=1;i<n+1;i++)
    {
        for(int j=1;j<=V;j++)
        {
            if(j>=v[i])
                dp[i][j]=max(dp[i-1][j],dp[i-1][j-v[i]]+v[i]);
            else
            dp[i][j]=dp[i-1][j];
        }
    }
    cout<<V-dp[n][V];
    return 0;
}

全部评论

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务