贪心——装箱问题

2023-10-27

贪心——装箱问题

题目描述

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

输入描述:

1个整数,表示箱子容量。
1个整数,表示有n个物品。
接下来n行,分别表示这n个物品的各自体积。

输出描述:

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

示例

输入

24
6
8
3
12
7
9
7

输出

0

方法一:使用二维数组

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std;
int V,n;
int v[50],dp[50][20050];
int main()
{
	cin>>V;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>v[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=0;j<=V;j++){
			if(j<v[i]){
				dp[i][j]=dp[i-1][j];
			}
			else{
				dp[i][j]=max(dp[i-1][j-v[i]]+v[i],dp[i-1][j]);
			}
		}
	}
	cout<<V-dp[n][V]<<endl;
	return 0;
}

方法二:使用一维数组

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std;
int V,n;
int v[50],f[20050];
int main()
{
	cin>>V;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>v[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=V;j>=v[i];j--){
			f[j]=max(f[j],f[j-v[i]]+v[i]);
		}
	}
	cout<<V-f[V]<<endl;
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

贪心——装箱问题 的相关文章

  • 【廖雪峰python入门笔记】list_创建

    1 list 列表 list 1 是Python内置的一种数据类型 2 是一种有序的集合 3 可以随时添加和删除其中的元素 比如 列出班里所有同学的名字 就可以用一个list表示 Michael Bob Tracy list是数学意义上的有
  • GraalVM原生编译,Swing取色调色工具

    Graalvm 安装和静态编译 今天使用GraalVM把以前写的一个Swing小工具ColorCat转成原生应用 使用GraalVM转成原生应用后 可以脱离JVM CPU和内存的占用率是降低了的 性能是相对提升了不少 GraalVM编译步骤

随机推荐

  • SVN提交代码评审

    1 前言 在公司提交代码时 需要发给上级主管评审 如何让评审的主管能快速清晰的知道你的修改点是很重要也是很基础的要求 有的是用用脚本来产生差异文件的文件夹 但其实SVN本身就有命令列出当前修改和版本的差异点 2 命令 svn commit
  • 登录页面中记住密码操作的实现

    1 思路 访问 前端login jsp gt 后台 如果上次用户选择勾选记住密码 自动填充账号和密码 否则 不填 如何判断上次是否记住密码 第一次登录成功 去判断是否需要记住密码 如果需要记住密码 则往浏览器写cookie 否则 删除coo
  • Swift Property ‘self.xxx‘ not initialized at super.init call

    Swift重写父类的init方法时 报了如下错误 Property self xxx not initialized at super init call 大概意思是在调用父类init方法前 需要给属性赋值 报错代码 required in
  • QT 自定义widget 背景图片设置

    在自定义widget中 通过setSheetStyle 设置的背景图片没有效果 必须加一层QFrame 定义一个QFrame 设置QFrame的 sheetstyle 同时设置 widget setAutoFillBackground tr
  • 使用python-docx在文档中插入图片

    在文档中添加图片的方法如下 from docx import Document from docx shared import Inches Cm document Document document add heading 大标题 0 新
  • VUE 中let that = this 或者 var that = this 有什么意义

    在vue 开发过程中我们经常会发现 let that this 这样写有什么好处呢 首先要理解this 下面简述两点 1 this 永远指向一个对象 2 this 的指向取决于函数调用的位置 首先 this 指向的是一个对象 这个好理解 难
  • 回归分析结果表格怎么填_Excel回归分析结果的详细阐释

    内容来自用户 jasonboy95 利用Excel的数据分析进行回归 可以得到一系列的统计参量 下面以连续10年积雪深度和灌e69da5e887aa3231313335323631343130323136353331333433646365
  • 永年二中2021高考成绩查询,喜讯丨邯郸市永年二中今年高考成绩再创历史新高...

    很多朋友在关注 喜讯丨邯郸市永年二中今年高考成绩再创历史新高 下面带大家一起来阅读吧 近10年高考县状元 2004年全县理科状元 王延涛 南沿村镇西王庄村 七中 2005年全县文科状元 刘 鑫 广府镇西街 九中 全县理科状元 杨佩勋 东杨庄
  • 帮我写一下目标检测的代码

    您好 我可以为您提供以下基本的目标检测代码 import cv2 读取图像 img cv2 imread image jpg 创建一个检测器 detector cv2 CascadeClassifier detector xml 检测目标
  • springboot整合redis 使用缓存注解

    1 启动类标明 EnableCaching SpringBootApplication MapperScan com jx luckyDraw mapper EnableCaching public class LuckyDrawAppli
  • Java中 Long(long) 和Integer(int)之间的强制转换

    一 将long型转化为int型 这里的long型是基础类型 long a 10 int b int a 二 将Long型转换为int 型的 这里的Long型是包装类型 Long a 10 int b a intValue 三 将int型转化
  • Spring Boot + Disruptor

    首先了解一下Disrupto的背景 Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列 研发的初衷是解决内存队列的延迟问题 在性能测试中发现竟然与I O操作处于同样的数量级 基于 Disruptor 开发的系统单线程能支撑每
  • linux学习——awk ‘{print $2}‘ 这个命令是什么意思?

    2 表示第二个字段 print 2 打印第二个字段 awk print 2 fileName 一行一行的读取指定的文件 以空格作为分隔符 打印第二个字段 比如有这样一个文件 a1 b1 c1 d1 a2 b2 c2 d2 执行的结果是 输出
  • 工信部印发互联网+行动计划 聚焦智能制造

    工信部印发 工业和信息化部关于贯彻落实 lt 国务院关于积极推进 互联网 行动的指导意见 gt 的行动计划 2015 2018年 意见提出总体目标 到2018年 互联网与制造业融合进一步深化 制造业数字化 网络化 智能化水平显著提高 其中提
  • 使用正则去掉html标签

    在开发项目的时候 会有去掉html标签只提取文字内容的情况 在此做个记录 以免之后找不到 1 匹配 lt 开始 gt 结束的全局正则 var regex lt gt gt ig 2 body内部的p标签 body p 我是文本内容 p 3
  • PostgreSQL数据库

    0 安装 我使用的操作系统为Ubuntu 安装命令 sudo apt get update sudo apt get install postgresql postgresql client 进入postgres sudo i u post
  • 如何用C语言编写暴力破解压缩文件解压密码的程序

    由于有一个重要的Rar文件 极需解开 首先试用了ARPC 但是解压的速度极慢 每秒只有30个左右 所以断了穷举破解的念头 却仍不死心 因为我从不崇尚穷举破解的方法 除非每秒可以跑几千万次的 我或许可以一试 所以决定研究一下Winrar 3
  • 在教育领域中使用ChatGPT有哪些优点?

    人工智能在教育领域的应用正在迅速增加 OpenAI于2022年11月开发的聊天机器人ChatGPT在全球范围内广受欢迎 由于其受欢迎程度以及生成类似人类问题的回答的能力 ChatGPT正在成为许多学习者和教育工作者值得信赖的伴侣 然而 与任
  • 可变68键,GANSS新版ALT71即将上市

    优化生产供应链后的GANSS 迦斯 去年下半年至今陆续成功升级C D系产品 在更优质的生产端支持下 近日 GANSS 迦斯 发布全新设计的ALT71机械键盘 独树一帜的可变配列 71键 68键 搭载升级蓝牙5 0 低功耗高续航 首发热升华版
  • 贪心——装箱问题

    贪心 装箱问题 题目描述 有一个箱子容量为V 正整数 0 V 20000 同时有n个物品 0 n 30 每个物品有一个体积 正整数 要求n个物品中 任取若干个装入箱内 使箱子的剩余空间为最小 输入描述 1个整数 表示箱子容量 1个整数 表示