zoukankan      html  css  js  c++  java
  • tyvj p1016 装箱问题( 简单DP 01背包)

    装箱问题From admin

    描述 Description
      有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),
    每个物品有一个体积 (正整数)。
    要求从 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

    输入格式 InputFormat
    第一行,一个整数,表示箱子容量;
    第二行,一个整数,表示有n个物品;
    接下来n行,分别表示这n个物品的各自体积。
    输出格式 OutputFormat
    一个整数,表示箱子剩余空间。

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<iostream>
    #include<algorithm>
    #include<queue>
    #include<stack>
    #define mem(a,b) memset(a,b,sizeof(a))
    #define ll __int64
    #define MAXN 1000
    #define INF 0x7ffffff
    #define lson l,m,rt<<1
    #define rson m+1,r,rt<<1|1
    using namespace std;
    int dp[30000];
    int num[50];
    int main()
    {
        int n,m,i,j,k;
        int maxx=0;
        mem(dp,0);
        scanf("%d%d",&m,&n);
        dp[0]=1;
        for(i=1;i<=n;i++) scanf("%d",&num[i]);
        for(i=1;i<=n;i++)    
            for(j=m;j>=num[i];j--)        
               if(j-num[i]>=0&&dp[j-num[i]]==1)
               {
                   dp[j]=1;
                   if(j>maxx) maxx=j;
               }         
        cout<<m-maxx<<endl;
        return 0;
    }
    

      

  • 相关阅读:
    E寻宝(贪心)
    千万别点进来,点进来你就哭了(最短路,dijkstra)
    H小明买年糕(前缀和+二分)
    Charles破解
    Jmeter安装插件
    appium环境搭建
    SourceTree安装和教程
    Appium-desktopAppium-desktop 安装与入门使用
    appium终端安装
    Seleinum_CSS定位方式
  • 原文地址:https://www.cnblogs.com/sola1994/p/3903418.html
Copyright © 2011-2022 走看看