1. 问题描述:

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

输入格式

第一行是一个整数 V,表示箱子容量。
第二行是一个整数 n,表示物品数。
接下来 n 行,每行一个正整数(不超过10000),分别表示这 n 个物品的各自体积。

输出格式

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

数据范围

0 < V ≤ 20000,
0 < n ≤ 30

输入样例:

24
6
8
3
12
7
9
7

输出样例:

0

来源:https://www.acwing.com/problem/content/1026/

2.  思路分析:

分析题目可以知道我们需要选择一些物品使得最终物品的总体积是最大的,这道题目没有物品的价值,但是实际上我们可以将物品的体积看成是价值,这样就可以转换为零一背包问题了,最终我们可以求解出在不超过箱子容量的前提下能够装的物品最大的总价值,也即对应最大的总体积,背包的容量减去能够装的最大物品的总体积就是我们需要求解的答案。

3. 代码如下:

if __name__ == "__main__":m = int(input())n = int(input())dp = [0] * (m + 1)for i in range(n):v = int(input())for j in range(m, v - 1, -1):dp[j] = max(dp[j], dp[j - v] + v)print(m - dp[m])

1024 装箱问题(零一背包问题)相关推荐

  1. 变种 背包问题_动态规划入门——传说中的零一背包问题

    今天是周三算法与数据结构专题的第12篇文章,动态规划之零一背包问题.在之前的文章当中,我们一起探讨了二分.贪心.排序和搜索算法,今天我们来看另一个非常经典的算法--动态规划.在acm-icpc竞赛领域 ...

  2. 背包问题(1):关于零一背包问题的个人理解

    一.经典背包问题(零一背包) 给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高.问题的名称来源于如何选择最合适的物品放置于给定背包中.(每个物品只能 ...

  3. 1049 最后一块石头的重量 II(零一背包问题)

    1. 问题描述: 有一堆石头,每块石头的重量都是正整数.每一回合,从中选出任意两块石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x ...

  4. 12 背包问题求具体方案(零一背包问题求具体方案)

    1. 问题描述: 有 N 件物品和一个容量是 V 的背包.每件物品只能使用一次.第 i 件物品的体积是 vi,价值是 wi.求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大.输 ...

  5. Java - 初探贪心算法(纸币找零,背包问题)

    贪心算法 1. 什么是贪心算法? 二.贪心算法的基本思路 三.贪心算法适用的问题 四.贪心算法的实现框架 五.贪心策略的选择 六.贪心算法的几个例子 1. 纸币找零问题 2. 背包问题 1. 什么是贪 ...

  6. 八十八、从斐波那契数列和零一背包问题探究动态规划

    @Author:Runsen 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化. ---- Runsen 本人看了vivo,阿里巴巴的校招算法题,可以明确知道绝对有动态规划. ...

  7. 零一背包问题(一维列表逆序的解释)

    1. 问题描述: 有 N 件物品和一个容量是 V 的背包.每件物品只能使用一次.第 i 件物品的体积是 vi,价值是 wi.求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大.输 ...

  8. 装箱问题【0-1背包问题】

    装箱问题 一.题目 二.参考代码 一.题目 题目描述 有一个箱子容量为 VV,同时有 nn 个物品,每个物品有一个体积. 现在从 nn 个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小 ...

  9. 动态规划之零一背包问题

    package com.dynamic;/*** @Auther: 大哥的叔* @Date: 2019/8/20 19:36* @Description:*/ public class Knapsac ...

最新文章

  1. Udacity机器人软件工程师课程笔记(三十五) - SLAM - 基于网格的FastSLAM
  2. UI自动化测试工具White简介以及使用经验总结(一)
  3. Win10的UWP之标题栏的返回键(一)
  4. 发光强度/光通量/光照度/亮度/坎德拉/流明/勒克斯/尼特之间的关系和换算
  5. 服务和服务帐户安全规划指南
  6. python能做什么游戏-用Python可以做哪些有意思的小游戏呢?
  7. :传递给 left 或 substring 函数的长度参数无效。_Excel中LEFT函数和RIGHT函数的用法。...
  8. 安装ffmpeg及nginx模块
  9. powerbi使用说明_Power BI入门教程
  10. 【树莓派Zero】1- 简介
  11. opencv给视频加字幕加炫光
  12. excel计算机求和函数,多条件求和、多条件计数、多条件查找……多了去了!
  13. 【机器学习】十二、一文看懂支持向量机原理
  14. LTE/LTE-Advanced 第2章 网络架构
  15. 洪泰智造工场腾讯云创业加速营全球招募
  16. 深以为然-为什么一些JAVA EE / J2EE 工程是效率低下或者至少是效率欠佳的(翻译)
  17. 知识产权-软考知识点-3
  18. php中根据二维数组某个字段的值查找对应的一维数组
  19. IDEA上的项目托管到码云步骤
  20. matlab使用教训

热门文章

  1. 51单片机点亮LED
  2. 日志--门面及实现框架 自用解析
  3. 【Unity3D】Unity3D Mecanim动画系统骨骼动画问题解决方法
  4. 大话赛宁云 | 战系列-网络空间的“前沿阵地”
  5. 2023 年“和鲸杯”辽宁省普通高等学校本科大学生计算机设计竞赛启动会顺利召开
  6. c语言追逐游戏,Unity一款快节奏的汽车追逐游戏模板(自动支持多种分辨率和纵横比)...
  7. [QQ机器人]Nonebot2心灵鸡汤插件
  8. 部署Grafana环境 报错
  9. Linux之计算机概论
  10. python动态规划解决矩阵连乘