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

    装箱问题

    发布时间: 2017年8月15日 23:23   最后更新: 2017年8月15日 23:25   时间限制: 1000ms   内存限制: 128M

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

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

    一个整数,表示箱子容量

    一个整数,表示有n个物品

    接下来n行,分别表示这n 个物品的各自体积

    一个整数,表示箱子剩余空间。

    复制
    24
    6
    8
    3
    12
    7
    9
    7
    0
    就是一个简单的dp.
     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int k[31];
     4 int dp[20005];
     5 int main(){
     6   int n,m;
     7   scanf("%d%d",&n,&m);
     8   for(int i=1;i<=m;i++){
     9     scanf("%d",&k[i]);
    10     for(int j=n;k[i]<=j;j--)
    11       dp[j]=max(dp[j],dp[j-k[i]]+k[i]);
    12   }
    13   printf("%d
    ",n-dp[n]);
    14   return 0;
    15 }
  • 相关阅读:
    v-for基本使用
    SSH
    Git 命令
    bower笔记
    gulp使用例子
    yeoman使用例子
    grunt搭建
    不会误解的名字
    Python 多线程 多进程
    Python 协程
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/7376256.html
Copyright © 2011-2022 走看看