zoukankan      html  css  js  c++  java
  • 装箱问题

    8785:装箱问题

       总时间限制: 

    1000ms
     
    内存限制: 
    65536kB
    描述

    有一个箱子容量为V(正整数,0<=v<=20000),同时有n个物品(0< n<n<=30),每个物品有一个体积(正整数)。< n<="" p="">

    要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

    输入
    第一行是一个整数V,表示箱子容量。
    第二行是一个整数n,表示物品数。
    接下来n行,每行一个正整数(不超过10000),分别表示这n个物品的各自体积。
    输出
    一个整数,表示箱子剩余空间。
    样例输入
    24
    6
    8
    3
    12
    7
    9
    7
    样例输出
    0
    来源
    NOIP2001复赛 普及组 第四题
    【思路】是取若干个物品 不是每个物品取若干个;
    先01背包求f[V]不超过V体积能放物品体积的最大值
    再求V-f[V]'
    【代码】
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int v[50],f[21000];
    int main()
    {
        int V,n;
        scanf("%d%d",&V,&n);
        for(int i=1;i<=n;i++)
        scanf("%d",&v[i]);
        for(int i=1;i<=n;i++)
        {
            for(int k=V;k>=v[i];k--)
            {
                f[k]=max(f[k],f[k-v[i]]+v[i]);
            }
        }
        printf("%d",V-f[V]);
        return 0;
    }
  • 相关阅读:
    执迷不悟
    splunk设置索引周期和索引大小
    下载地址sqlserver2008r2
    蓝牙
    1、IdentityServer4
    翻译名义集
    sql 字符取数字
    Aerial Images Dataset 航空图像数据集 收集
    基于VGG16模型对猫狗分类任务进行迁移学习
    Apollo配置中心
  • 原文地址:https://www.cnblogs.com/zzyh/p/6751538.html
Copyright © 2011-2022 走看看