zoukankan      html  css  js  c++  java
  • P1049 装箱问题(01背包)

    题目描述

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

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

    输入输出格式

    输入格式:

     

    一个整数,表示箱子容量

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

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

     

    输出格式:

     

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

     

    输入输出样例

    输入样例#1: 复制
    24
    6
    8
    3
    12
    7
    9
    7
    
    输出样例#1: 复制
    0
    

    说明

    NOIp2001普及组 第4题

    把该物品的体积看作该物品的价值,  方程:f[j]=max(f[j],f[j-w[i]]+w[i]);最后输出(m-f[j]);

    emm...

    To tell you truth, I can't unsderstand it...

    Hope you won't.

    某人说的对,感性理解。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 using namespace std;
     7 
     8 int v,n,f[20002],w[32];
     9 
    10 int main()
    11 {
    12     scanf("%d%d",&v,&n);
    13     for(int i=1;i<=n;++i) scanf("%d",&w[i]);
    14     for(int i=1;i<=n;++i)
    15         for(int j=v;j>=w[i];j--)
    16             f[j]=max(f[j],f[j-w[i]]+w[i]);
    17     printf("%d",v-f[v]);
    18 }

    如果你不开心,那我就把右边这个帅傻子分享给你吧, 

    你看,他这么好看,那么深情的望着你,你还伤心吗? 

    真的!这照片盯上他五秒钟就想笑了。 

    一切都会过去的。

  • 相关阅读:
    对于.net config文件中加密使用
    删除windows不想要的服务
    ora12514: tns: 监听程序当前无法识别连接描述符中请求的服务
    读《.NET设计规范》笔记
    创建服务总结
    加载XML文档
    XMLHttpRequest对象的使用
    ReportView控件的使用
    C#代码的编译过程
    Qt vs设置可执行程序图标
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/8886136.html
Copyright © 2011-2022 走看看