洛谷P1049装箱问题 ————递归+剪枝+回溯

没没没没没没没没没错,又是一道简单的递归,只不过加了剪枝,我已经不想再多说,这道题写了一开始写了普通深搜,然后tle了一个点,后面改成剪枝,就ac了,虽然数据很水,但是不妨碍我们练习搜索。

先画个草图:

从1开始找,找下一层最左边的2,判断箱子里是否能装下这个物体,如果能,装进去。(现在箱子里装了(1,2) 体积是(8+3=11)

然后继续下一层继续判断,能否装下。(找最左边的3,现在箱子里装了(1,2,3) 体积是(8+3+12=23)

再找下一个,4,发现23+7>24,就是箱子装不下了,那就跳过4,往下搜。

当搜完了,我们就返回上一层重复这个步骤即可。

上代码:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<string>
#include<algorithm>
#include<vector>
#include<cctype>
#include<map>
#include<set>
#include<queue>
#include<numeric>
#include<iomanip>
using namespace std;
const int N = 30+7;
const int V = 2e4 + 7;
int a[N];
int flag[N];
int n, v, ans=0x7fffffff;
void dfs(int x, int v) {ans = min(ans, v);for (int i = x; i < n; i++) {if (flag[i] == 0) {if (v - a[i] >= 0) {flag[i] = 1;dfs(i + 1, v - a[i]);flag[i] = 0;}}}
}
int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cin >> v >> n;for (int i = 0; i < n; i++)cin >> a[i];dfs(0, v);cout << ans;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/168763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ruoyi-plus-vue docker 部署

本文以 ruoyi-vue-plus 5.x docker 部署为基础 安装虚拟机 部署文档 安装docker 安装docker 安装docker-compose 配置idea环境 上传 /doicker 文件夹 到服务器&#xff1b;赋值 777权限 chmod -R 777 /docker idea构建 jar 包 利用 idea 构建镜像; 创建基础服务 docker…

力扣 3. 无重复字符的最长子串

题目 题解 方法 public static int lengthOfLongestSubstring(String s) {HashSet<Character> charSet new HashSet<Character>();int i 0,l0,max0;for (int j 0; j < s.length(); j) {while (charSet.contains(s.charAt(j))) {charSet.remove(s.charAt(l…

【JavaEE初阶】Thread 类及常见方法、线程的状态

目录 1、Thread 类及常见方法 1.1 Thread 的常见构造方法 1.2 Thread 的几个常见属性 1.3 启动⼀个线程 - start() 1.4 中断⼀个线程 1.5 等待⼀个线程 - join() 1.6 获取当前线程引用 1.7 休眠当前线程 2、线程的状态 2.1 观察线程的所有状态 2.2 线程状态和状…

硬盘上不小心删除了重要文档?试试这6个成功率高的数据恢复工具!

您是否不小心重新格式化了存储卡或删除了想要保留的照片&#xff1f;最好的照片恢复软件可以提供帮助&#xff01;如果您使用数码相机拍摄的时间足够长&#xff0c;那么当您错误地删除了想要保留的图像、重新格式化了错误的 SD 卡&#xff0c;或者发现您的珍贵照片由于某种莫名…

CFO的GenAI应用指南

CFO应该采取的最重要行动是识别最大的创造价值的机会&#xff0c;然后确保他们获得所需的资金和其他资源。GenAI拥有成为革命性技术的潜力&#xff0c;但它不会改变金融和经济学的基本原则&#xff1a;一家公司必须产生高于资本成本的回报。 技术改变了每一项业务&#xff0c;往…

分布式锁,分布式锁应该具备哪些条件,分布式锁的实现方式有:基于Zookeeper实现、Redis实现、数据库实现

文章目录 分布式锁0-1分布式锁--包含CAP理论模型概述分布式锁&#xff1a;分布式锁应该具备哪些条件&#xff1a;分布式锁的业务场景&#xff1a; 分布式锁的实现方式有&#xff1a;基于Zookeeper - 分布式锁实现思想优缺点基于Redis - 分布式锁实现思想实现思想的具体步骤&…

【LeetCode 热题 HOT 100】题解笔记 —— Day01

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

企业海外分部,如何实现安全稳定的跨境网络互连?

如今&#xff0c;众多企业广泛采取数字化业务系统&#xff0c;如OA、ERP及CRM等&#xff0c;来提升其业务运营效率。同时&#xff0c;私有云与公有云混合架构也逐渐普及化。 具体来说&#xff0c;很多企业选择将研发系统部署在公司本地的私有云环境&#xff0c;以此确保数据安全…

首批!创邻科技入选《图数据库金融应用场景优秀案例》

11月11日&#xff0c;“全球金融科技中心网络年会”在第三届全球金融科技大会暨第五届成方金融科技论坛上成功在京举办。会上&#xff0c;北京前沿金融监管科技研究院发布了基于国际标准组织——国际关联数据基准委员会&#xff08;LDBC&#xff09;的《图数据库金融应用场景优…

路由器DHCP分配IP地址规则

路由器DHCP分配IP地址的机制&#xff1a; 先设置一个IP地址池&#xff0c;假设是192.168.1.100-192.168.1.199一共100个。 来一个请求&#xff0c;看一下是不是以前请求过的地址&#xff0c;如果是&#xff0c;还是返回以前给过的IP&#xff0c;然后将到期时间(有些路由器默认…

【Python3】【力扣题】349. 两个数组的交集

【力扣题】题目描述&#xff1a; 【Python3】代码&#xff1a; 1、解题思路&#xff1a;集合的交集。两个数组都转为集合&#xff0c;获取集合的交集。 知识点&#xff1a;set(...)&#xff1a;转为集合&#xff0c;集合的元素不重复。 集合1.intersection(集合2)&#xff1a…

Python3.7 win7系统安装openCV方案

为了使用机房电脑处理数字图像问题&#xff0c;在win7系统安装了python opencv, 测试使用的是官网下载python3.7.7版本&#xff0c;如果官网安装&#xff0c;直接安装即可 pip install python-opencv 这样会自动安装对应版本的numpy 如果官网安装很慢&#xff0c;想使用镜像安…

【Linux】EVIOCGBIT

EVIOCGBIT(ev, len) 该怎么理解&#xff1f; 我们可以推断出&#xff0c;它是一个宏&#xff0c;它的前两个参数已经确定了&#xff0c;具体的功能由后两个参数(ev,len)来决定。Linux-4.9.88\include\uapi\linux\input.h #define EVIOCGBIT(ev,len) _IOC(_IOC_READ, E, 0x20 …

如何申请文心一言文心千帆大模型API调用资格、获取access_token,并使用SpringBoot接入文心一言API

前段时间&#xff0c;百度文心一言&文心千帆大模型开放了API调用的测试&#xff0c;接下来&#xff0c;教大家申请测试资格并接入文心千帆大模型的API。 一、文心一言&文心千帆的测试资格申请 1. 确保拥有一个百度智能云的账号 右上角点击注册&#xff0c;内容如实填…

【知网稳定检索】第九届社会科学与经济发展国际学术会议 (ICSSED 2024)

第九届社会科学与经济发展国际学术会议 (ICSSED 2024) 2024 9th International Conference on Social Sciences and Economic Development 第九届社会科学与经济发展国际学术会议(ICSSED 2024)定于2024年3月22-24日在中国北京隆重举行。会议主要围绕社会科学与经济发展等研究…

postgresql从入门到精通 - 第35讲:中间件PgBouncer部署|PostgreSQL教程

PostgreSQL从小白到专家&#xff0c;是从入门逐渐能力提升的一个系列教程&#xff0c;内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容&#xff0c;希望对热爱PG、学习PG的同学们有帮助&#xff0c;欢迎持续关注CUUG PG技术大讲堂。 第35讲&#…

荆涛《春节回家》:歌声中的年味与乡愁

荆涛《春节回家》&#xff1a;歌声中的年味与乡愁春节&#xff0c;对于每一个中国人来说&#xff0c;都是一年中最为重要的时刻。它不仅仅是一个节日&#xff0c;更是团圆、乡愁、回忆与希望的象征。歌手荆涛的歌曲《春节回家》恰恰捕捉到了这些情感&#xff0c;用音乐为人们绘…

hdlbits系列verilog解答(Exams/m2014 q4e)-46

文章目录 一、问题描述二、verilog源码三、仿真结果 一、问题描述 实现以下电路&#xff1a; 二、verilog源码 module top_module (input in1,input in2,output out);assign out ~(in1 | in2);endmodule三、仿真结果 转载请注明出处&#xff01;

【SpringBoot系列】SpringBoot日志配置

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

hdlbits系列verilog解答(exams/m2014_q4i)-45

文章目录 一、问题描述二、verilog源码三、仿真结果 一、问题描述 实现以下电路&#xff1a; 二、verilog源码 module top_module (output out);assign out 1b0;endmodule三、仿真结果 转载请注明出处&#xff01;