【蓝桥杯冲冲冲】[NOIP2001 普及组] 装箱问题
蓝桥杯备赛 | 洛谷做题打卡day26
文章目录
- 蓝桥杯备赛 | 洛谷做题打卡day26
- 题目描述
- 输入格式
- 输出格式
- 样例 #1
- 样例输入 #1
- 样例输出 #1
- 提示
- 思路
- 题解代码
- 我的一些话
-
[NOIP2001 普及组] 装箱问题
题目描述
有一个箱子容量为 V V V,同时有 n n n 个物品,每个物品有一个体积。
现在从 n n n 个物品中,任取若干个装入箱内(也可以不取),使箱子的剩余空间最小。输出这个最小值。
输入格式
第一行共一个整数 V V V,表示箱子容量。
第二行共一个整数 n n n,表示物品总数。
接下来 n n n 行,每行有一个正整数,表示第 i i i 个物品的体积。
输出格式
- 共一行一个整数,表示箱子最小剩余空间。
样例 #1
样例输入 #1
24 6 8 3 12 7 9 7样例输出 #1
0提示
对于 100 % 100\% 100% 数据,满足 0 < n ≤ 30 0<n \le 30 0<n≤30, 1 ≤ V ≤ 20000 1 \le V \le 20000 1≤V≤20000。
【题目来源】
NOIP 2001 普及组第四题

思路
这道题看似是搜索,但是可以用背包做。
题目要求求出最小的剩余空间,也就是要求出最大的可装重量
这样,我们可以将一个物体的重量当作它的价值,进而将题目转变为一个基本的01背包问题:
有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)和一个价值(等于体积)。
要求n个物品中,任取若干个装入箱内,使总价值最大。
对于每一个物体,都有两种状态:装 与不装
那么,对于任意重量m的最大价值 f (m) = max ( f ( m - w[i] ) + w[i], f (m) )(w为重量(即价值))
其中,f ( m - w[i] ) 指在装了物品i后,箱子的剩余容量能装的最大重量
f ( m - w[i] ) + w[i] 指在在装了物品i后,箱子能装的最大重量
题解代码
学会利用新知,自己多试试并尝试积攒一些固定解答方案,debug,以下是题解代码 ~
#include<cstdio>
using namespace std;
int m,n; m即箱子容量V
int f[20010];
int w[40];
int main(){int i,j;scanf("%d%d",&m,&n);for(i=1;i<=n;i++){scanf("%d",&w[i]);}for(i=1;i<=n;i++){for(j=m;j>=w[i];j--){ 注意:这里必须是从m到w[i],否则一个物体会被多次装入箱子,见例1if(f[j]<f[j-w[i]]+w[i]){f[j]=f[j-w[i]]+w[i];}}}printf("%d\n",m-f[m]);
}
我的一些话
-
今天学习动态规划,dp属于比较难的部分,需要多动脑,多思考思路还是很好掌握的,虽然一次性AC有一定难度,需要通盘的考虑和理解,以及扎实的数据结构基础才能独立写出AC代码。但无论难易,大家都要持续做题,保持题感喔!一起坚持(o´ω`o)
-
如果有非计算机专业的uu自学的话,关于数据结构的网课推荐看b站上青岛大学王卓老师的课,讲的很细致,有不懂都可以私信我喔
-
总结来说思路很重要,多想想,多在草稿纸上画画,用测试数据多调试,debug后成功编译并运行出正确结果真的会感到很幸福!
-
关于之前蓝桥杯备赛的路线和基本方法、要掌握的知识,之前的博文我都有写,欢迎大家关注我,翻阅自取哦~
-
不管什么都要坚持吧,三天打鱼两天晒网无法形成肌肉记忆和做题思维,该思考的时候一定不要懈怠,今天就说这么多啦,欢迎评论留言,一起成长:)
相关文章:
【蓝桥杯冲冲冲】[NOIP2001 普及组] 装箱问题
蓝桥杯备赛 | 洛谷做题打卡day26 文章目录 蓝桥杯备赛 | 洛谷做题打卡day26题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示思路 题解代码我的一些话 [NOIP2001 普及组] 装箱问题 题目描述 有一个箱子容量为 V V V,同时有 n n n 个物品,每…...
2024牛客寒假算法基础集训营1
文章目录 A DFS搜索M牛客老粉才知道的秘密G why外卖E 本题又主要考察了贪心B 关鸡C 按闹分配 今天的牛客,说是都是基础题,头昏昏的,感觉真不会写,只能赛后补题了 A DFS搜索 写的时候刚开始以为还是比较难的,和dfs有关…...
元素的显示与隐藏,精灵图,字体图标,CSSC三角
元素的显示与隐藏 类似网站广告,当我们点击关闭就不见了,但是我们重新刷新页面,会重新出现 本质:让元素在页面中隐藏或者显示出来。 1.display显示隐藏 2.visibility显示隐藏 3.overflow溢出显示隐藏 1.display属性(…...
最新!2024顶级SCI优化!TTAO-CNN-BiGRU-MSA三角拓扑聚合优化、双向GRU融合注意力的多变量回归预测程序!
适用平台:Matlab 2023版及以上 TTOA三角聚合优化算法,将在2024年3月正式发表在中科院1区顶级SCI期刊《Expert Systems with Applications》上。 该算法提出时间极短,目前以及近期内不会有套用这个算法的文献。新年伊始,尽快拿下…...
Flink SQL Client 安装各类 Connector、组件的方法汇总(持续更新中....)
一般来说,在 Flink SQL Client 中使用各种 Connector 只需要该 Connector 及其依赖 Jar 包部署到 ${FLINK_HOME}/lib 下即可。但是对于某些特定的平台,如果 AWS EMR、Cloudera CDP 等产品会有所不同,主要是它们中的某些 Jar 包可能被改写过&a…...
React18-模拟列表数据实现基础表格功能
文章目录 分页功能分页组件有两种接口参数分页类型用户列表参数类型 模拟列表数据分页触发方式实现目录 分页功能 分页组件有两种 table组件自带分页 <TableborderedrowKey"userId"rowSelection{{ type: checkbox }}pagination{{position: [bottomRight],pageSi…...
MySQL查询数据(十)
MySQL查询数据(十) 一、SELECT基本查询 1.1 SELECT语句的功能 SELECT 语句从数据库中返回信息。使用一个 SELECT 语句,可以做下面的事: **列选择:**能够使用 SELECT 语句的列选择功能选择表中的列,这些…...
AJAX-常用请求方法和数据提交
常用请求方法 请求方法:对服务器资源,要执行的操作 axios请求配置 url:请求的URL网址 method:请求的方法,如果是GET可以省略;不用区分大小写 data:提交数据 axios({url:目标资源地址,method…...
2024美国大学生数学建模竞赛美赛B题matlab代码解析
2024美赛B题Searching for Submersibles搜索潜水器 因为一些不可抗力,下面仅展示部分代码(很少部分部分)和部分分析过程,其余代码看文末 Dthxlsread(C:\Users\Lenovo\Desktop\Ionian.xlsx); DpDth(:,3:5); dy0.0042; dx0.0042; …...
【DouYing Desktop】
I) JD 全日制大专及以上学历; 2. 3年以上的IT服务支持相关工作经验 3. 有较强的桌面相关trouble shooting与故障解决能力,能够独立应对各类型桌面问题; 4. 具备基础的网络、系统知识,能够独立解决常见的网络、系统等问题…...
正则表达式与文本处理工具
目录 引言 一、正则表达式基础 (一)字符匹配 1.基本字符 2.特殊字符 3.量词 4.边界匹配 (二)进阶用法 1.组与引用 2.选择 二、命令之-----grep (一)基础用法 (二)高级用…...
IDEA中的Run Dashboard
Run Dashboard是IntelliJ IDEA中的工具【也就是View中的Services】,提供一个可视化界面,用于管理控制应用程序的运行和调试过程。 在Run DashBoard中,可以看到所有的运行配置,以及每个配置的运行状态(正在运行…...
【力扣白嫖日记】SQL
前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1407.排名靠前的旅行者 表:Users 列名类型idintnamevarchar id 是该表中具有唯一值的列。name …...
自动化报告pptx-python|高效通过PPT模版制造报告(三)
这是自动化报告学习的第三篇了,前面两篇分别是: 自动化报告的前奏|使用python-pptx操作PPT(一)自动化报告pptx-python|如何将pandas的表格写入PPTX(二)本篇是逼着笔者看到JoStudio 大佬自己写的一个jojo-office 库,基于pptx-python开发成一套试用office软件的依赖,非…...
Linux升级openssh的解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...
YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读
YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读 YOLOv5白皮书-第Y3周:yolov5s.yaml文件解读一、前言二、我的环境三、yolov5s.yaml源文件内容四、Parameters五、anchors配置六、backbone七、head八、总结 OLOv5-第Y2周:训练自己的数据集) YOLOv5白皮书-第Y3周:yolov5s.…...
C++ pair+map+set+multimap+multiset+AVL树+红黑树(深度剖析)
文章目录 1. 前言2. 关联式容器3. pair——键值对4. 树形结构的关联式容器4.1 set4.1.1 set 的介绍4.1.2 set 的使用 4.2 map4.2.1 map 的介绍4.2.2 map 的使用 4.3 multiset4.3.1 multiset 的介绍4.3.2 multiset 的使用 4.4 multimap4.4.1 multimap 的介绍4.4.2 multimap 的使…...
指针的学习1
目录 什么是指针? 野指针 造成野指针的原因: 如何避免野指针? 内存和指针 如何理解编址? 指针变量和地址 取地址操作符& 指针变量和解引用操作符 指针变量 如何拆解指针类型? 指针变量的大小 指针变量…...
c++:敲桌子
先输出1-100数字,从100个数字中找到这些特殊数字改为敲桌子。 特殊数字:1.7的倍数 2.十位数上有7 3.个位数上有7 #include<iostream> using namespace std; int main() {for (int i 1; i < 100; i) {if (i / 10 7 || i % 10 7|| i % 7 0)…...
Linux中判断文件系统的方法
文章目录 Linux中判断文件系统的方法1.使用mount命令2.使用blkid命令3.使用file命令4.使用fstab文件5.使用df命令(这个用的比较多)6.使用fsck命令7.使用lsblk命令(推荐-简单好用) Linux中判断文件系统的方法 1.使用mount命令 # 这样查看的只有已经挂载…...
Ostrakon-VL集成VSCode Codex:智能代码辅助下的视觉应用开发
Ostrakon-VL集成VSCode Codex:智能代码辅助下的视觉应用开发 1. 开篇:当视觉AI遇上智能编程助手 想象一下这样的开发场景:你正在构建一个基于Ostrakon-VL的视觉分析应用,需要处理摄像头采集的图像数据。传统方式下,你…...
AI写论文秘籍在此!4款AI论文写作工具,助力毕业论文顺利通过!
你是否还在为撰写期刊论文、毕业论文或职称论文而苦恼不已呢?当面对浩瀚如海的文献,撰写论文时常常让人感到无从下手。各种复杂的格式要求让人筋疲力尽,而不断的修改更是加剧了这种无力感,使得写作效率低下,成为许多学…...
每日更新源码:解锁商业项目新可能的密钥
在数字化转型浪潮席卷全球的今天,企业对于高效、安全、可定制化的技术解决方案需求愈发迫切。无论是初创公司快速搭建电商平台,还是传统企业升级官网提升品牌形象,源码下载网站已成为开发者与创业者获取核心资源的重要渠道。本文将深入探讨一…...
用普中开发板A234和Proteus 8.16,手把手复刻一个课堂/竞赛用的八路抢答器(附完整代码和避坑点)
用普中开发板A234和Proteus 8.16打造竞赛级八路抢答器实战指南 在电子设计竞赛、课堂互动或社团活动中,一个稳定可靠的抢答器往往是点燃现场气氛的关键设备。市面上虽然有不少成品抢答器,但价格昂贵且功能固定,难以满足个性化需求。而基于51单…...
8大AI核心概念,让你秒懂智能体、多智能体系统、RAG、工作流、微调、函数调用、MCP和A2A!
本文介绍了8个AI核心概念,包括智能体(Agent)和多智能体系统(Multi-Agent System),以及如何通过RAG(Retrieval-Augmented Generation)、工作流(Work Flow)、微…...
避坑指南:YOLOv8模型部署到小程序的5个常见错误及解决方案
YOLOv8模型部署到小程序的避坑实战手册 第一次把YOLOv8模型塞进小程序时,我盯着屏幕上那个"500 Internal Server Error"发呆了半小时。这已经是第三次部署失败了,Docker日志里那些红色错误信息像在嘲笑我的天真。后来才发现,原来只…...
OpenAlternative移动端优化完全指南:打造完美开源软件目录响应式体验
OpenAlternative移动端优化完全指南:打造完美开源软件目录响应式体验 【免费下载链接】openalternative Curated list of open source alternatives to proprietary software. 项目地址: https://gitcode.com/gh_mirrors/op/openalternative 在移动设备使用率…...
ExcelCPU安全指南:在电子表格中运行代码的5大风险与防护策略
ExcelCPU安全指南:在电子表格中运行代码的5大风险与防护策略 【免费下载链接】excelCPU 16-bit CPU for Excel, and related files 项目地址: https://gitcode.com/gh_mirrors/ex/excelCPU ExcelCPU是一个创新的16位CPU模拟器,完全在Excel电子表格…...
ATCODER ABC C题解炼
这,是一个采用C精灵库编写的程序,它画了一幅漂亮的图形: 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...
