装箱问题

题目描述

有一个箱子容量为VVV(正整数,0≤V≤200000 \le V \le 200000≤V≤20000),同时有nnn个物品(0<n≤300<n \le 300<n≤30,每个物品有一个体积(正整数)。

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

输入格式

111个整数,表示箱子容量

111个整数,表示有nnn个物品

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

输出格式

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

输入样例

24
6
8
3
12
7
9
7

输出样例

0
#include<iostream>
#include<algorithm>
using namespace std;
int dp[20001][31];
int main(void)
{int v,n;cin>>v>>n;//容量v, n个物体 int w[n+1];//物体的体积 for(int i=1;i<=n;i++) cin>>w[i];for(int i=1;i<=n;i++)//对于每一个物体 {for(int j=1;j<=v;j++)//体积从1到v {if(j<w[i]) dp[j][i]=dp[j][i-1];else dp[j][i]=max(dp[j][i-1],dp[j-w[i]][i-1]+w[i]);}}cout<<v-dp[v][n];}

用图说话。

行为背包容量,列为物品体积。
比如第一行时,1-7结果为零,是因为我们8的体积大于1~7、
第二行,背包为12时,结果为11(8+3)。、
用此图说明了为啥是二重循环。

P1049 装箱问题相关推荐

  1. 洛谷 P1049 装箱问题(01背包)

    一道水题,但看到好久没有发博客了,再一看是一道noip普及组t4,就做了. 题目链接 https://www.luogu.org/problemnew/show/P1049 解题思路 一道裸的01背包 ...

  2. P1049装箱问题(背包,变形)

    洛谷P1049 法一 #include<iostream> #include<cstdio> #include<cstring> #include<algor ...

  3. 联机装箱问题 java_Java实现 洛谷 P1049 装箱问题

    题目描述 有一个箱子容量为V(正整数0≤V≤20000),同时有n个物品(0 要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入输出格式 输入格式: 1个整数,表示箱子容量 1个整数 ...

  4. 【动态规划】01背包:P1049 装箱问题

    求剩余体积最小,即求装的体积最大,体积同时对应体积和价值,问题转换为01背包问题 [动态规划笔记]01背包问题及优化_m0_52043808的博客-CSDN博客 代码: #include<ios ...

  5. 第5课 开心的金明《聪明人的游戏:信息学探秘.提高篇》(优化空间)

    [NOIP2006 普及组] 开心的金明 - 洛谷 """ 第5课 开心的金明<聪明人的游戏:信息学探秘.提高篇>(优化空间) https://www.luo ...

  6. 凑零钱动态规划java_凑零钱问题-动态规划回溯贪心

    编码乱码问题解释,解决Tomcat乱码的最快速有效办法.[希望能够 编码乱码问题解释,解决Tomcat乱码的最快速有效办法.[希望能够指正] 文章目录 编码乱码问题的自我理解 我们来了解下,程序的执行 ...

  7. 背包问题(01背包,完全背包,多重背包(朴素算法二进制优化))

    写在前面:我是一只蒟蒻~~~ 今天我们要讲讲动态规划中~~最最最最最~~~~简单~~的背包问题 1. 首先,我们先介绍一下  01背包 大家先看一下这道01背包的问题   题目   有m件物品和一个容 ...

  8. NOIP普及组历届真题(1997~2018)

    供大家刷题. 先上快捷的查看方式:NOIP普及组历届真题 第二页 来自洛谷--一个很好的刷题网站 剩下是具体题目和难度以及是第几年的题. P1002 过河卒 NOIp普及组 2002 普及- P100 ...

  9. 动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包,混合背包

    动态规划dp(带模板题の超易懂版):01背包,完全背包,分组背包,多重背包 01背包 && 完全背包 && 分组背包 の 视频教程:https://www.bilibi ...

最新文章

  1. django 添加comments app
  2. 【NLP】用BERT进行机器阅读理解
  3. 如何删除在Github中创建的项目
  4. 【2019 NWERC - D 】Disposable Switches【最短路、单调栈、数学思维】
  5. ylbtech-dbs:ylbtech-7,welfareSystem(福利发放系统)
  6. M1芯片安装PR(Premiere)2021已激活解决教程
  7. java Apache poi 操作word生成word目录(根据word模板生成word文件)
  8. 帧率FPS,屏幕刷新频率赫兹Hz
  9. 主机计算机怎么打开共享,steam怎么开家庭共享方式
  10. CCF201809-3
  11. 怎么把path里oracle地址删掉,path路径删除了怎么办
  12. nginx常用配置笔记
  13. 造成数据泄露的主要原因是什么?
  14. 。2005年博客与Web2.0 十大武侠人物
  15. 液晶屏背光源该如何检测?
  16. 启明医疗完成对一家脑保护装置生产商的收购
  17. 内网安装视频会议软件有几个步骤?
  18. 无线网卡的4种工作模式
  19. Linux指令英文全称(方便记忆)
  20. Thread是一根琴弦

热门文章

  1. Syncfusion教程:在Xamarin.Forms中创建数据输入表单 (3)
  2. Js 向json对象中添加新元素
  3. AC3 bit allocation
  4. javascript实现的图数据结构的广度优先 搜索(Breadth-First Search,BFS)和深度优先搜索(Depth-First Search,DFS)...
  5. shell执行mysql命令
  6. java学习规划-转的
  7. flex图表数据动态更新效果示例
  8. ASP与ASP.NET的区别
  9. 19个语法助你打牢Python基础
  10. 我是如何自学 Python 的