【买瓜 / F】

题目

思路

  • 折半搜索
    • 注意要从小到大排序(虽然我也不知道为什么)

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n, m, t;
int a[35];
unordered_map<ll, int> h;
int ans = INT_MAX;
void dfs1(int k, int cnt, ll sum)
{if(cnt >= ans || sum > m) return;if(sum == m){ans = min(ans, cnt);return;}if(k > t){if(h.count(sum)) h[sum] = min(h[sum], cnt);else h[sum] = cnt;return;}dfs1(k+1,cnt,sum);dfs1(k+1,cnt,sum+a[k]);dfs1(k+1,cnt+1,sum+a[k]/2);
}
void dfs2(int k, int cnt, ll sum)
{if(cnt >= ans || sum > m) return;if(sum == m){ans = min(ans, cnt);return;}if(h.count(m-sum)){ans = min(ans, cnt+h[m-sum]);}if(k > n) return;dfs2(k+1,cnt,sum);dfs2(k+1,cnt,sum+a[k]);dfs2(k+1,cnt+1,sum+a[k]/2);
}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cin >> n >> m;m <<= 1;t = n >> 1;for(int i = 1; i <= n; i++)cin >> a[i], a[i] <<= 1;sort(a+1, a+n+1);dfs1(1, 0, 0);dfs2(t+1, 0, 0);ans == INT_MAX ? ans = -1 : ans = ans;cout << ans;
}

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

系统架构设计师-论文题(2021年下半年)

1.试题一 论面向方面的编程技术及其应用针对应用开发所面临的规模不断扩大、复杂度不断提升的问题&#xff0c;面向方面的编程Aspect Oriented Programming,AOP技术提供了一种有效的程序开发方法。为了理解和完成一个复杂的程序&#xff0c;通常要把程序进行功能划分和封装。一…

54.二叉树的最大深度

迭代 class Solution {public int maxDepth(TreeNode root) {if(rootnull){return 0;}int de0;Queue<TreeNode> qunew LinkedList<>();TreeNode tn;int le;qu.offer(root);while(!qu.isEmpty()){lequ.size();while(le>0){tnqu.poll();if(tn.left!null){qu.offe…

【Linux】Ubuntu20.04上使用RabbitVCS的图形化SVN

文章目录 1、RabbitVCS1.1、RabbitVCS 介绍1.2、RabbitVCS 主要功能1.3、Ubuntu下 TortoiseSVN 替代者 2、安装2.1、命令安装2.2、安装使用2.3、使用权限 3、解决SVN无法保存密码问题3.1、问题描述3.2、解决方法 1、RabbitVCS 1.1、RabbitVCS 介绍 它是一款Linux系统下的图形…

Excel中的屠龙大招

indirect的地位部分动摇&#xff0c;神坛下已初生大力骑士——“”。 (笔记模板由python脚本于2024年10月06日 18:57:11创建&#xff0c;本篇笔记适合同时喜欢python和Excel的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&…

李宏毅深度学习-自注意力机制

输入是向量序列的情况 在图像识别的时候&#xff0c;假设输入的图像大小都是一样的。但如果问题变得复杂&#xff0c;如图6.2所示&#xff0c;输入是一组向量&#xff0c;并且输入的向量的数量是会改变的&#xff0c;即每次模型输入的序列长度都不一样&#xff0c;这个时候应该…

DBMS-3.2 SQL(2)——DML的SELECT(含WHERE、聚集函数、GROUP BY、HAVING之间的关系)

本文章的素材与知识来自李国良老师和王珊老师。 数据操纵语言DML&#xff08;Data Manipulation Language&#xff09; SELECT 一.SELECT的语法与构成 1.语法 2.构成 二.投影 投影操作可以选择表中的若干列&#xff0c;主要体现在SELECT子句后的列表达式。 1.列表达式 2.…

鸿蒙开发(NEXT/API 12)【穿戴设备模板化通知】手机侧应用开发

手机侧应用向穿戴设备发送通知&#xff0c;并在穿戴设备上按模板显示&#xff0c;支持穿戴设备收到通知后同步振动或响铃&#xff08;跟随穿戴设备系统设置&#xff09;。执行成功后&#xff0c;穿戴设备上会显示下图所示通知界面。 该接口无需用户授权&#xff0c;仅需要确保…

视频转文字免费的软件有哪些?6款工具一键把视频转成文字!又快又方便!

视频转文字免费的软件有哪些&#xff1f;在视频制作剪辑过程中&#xff0c;我们经常进行视频语音识别成字幕&#xff0c;帮助我们更好地呈现视频内容的观看和宣传&#xff0c;市场上有许多免费的视频转文字软件&#xff0c;可以快速导入视频&#xff0c;进行视频内音频的文字转…

Vueron引领未来出行:2026年ADAS激光雷达解决方案上市路线图深度剖析

Vueron ADAS激光雷达解决方案路线图分析&#xff1a;2026年上市展望 Vueron近期发布的ADAS激光雷达解决方案路线图&#xff0c;标志着该公司在自动驾驶技术领域迈出了重要一步。该路线图以2026年上市为目标&#xff0c;彰显了Vueron对未来市场趋势的精准把握和对技术创新的坚定…

【Mybatis篇】Mybatis的注解开发

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【计算机网络】&#xff0c;【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 文章目录 &#x1f3af; Select注解 …

Gridview配置数据源--信任服务器证书

目录 背景过程Gridview配置数据源GridView与数据源&#xff1a;数据库连接与安全&#xff1a;信任服务器证书&#xff1a;配置信任服务器证书&#xff1a;注意事项&#xff1a; 生成连接字符串程序运行报错问题解决 总结 背景 Gridview配置数据源之后&#xff0c;程序报错 过…

一篇文章教会你DHT11读取温湿度,附STM32代码示例

目录 一、DHT11说明&#xff1a; 1.典型电路&#xff1a; 2.串行通信说明&#xff08;单线双向&#xff09;&#xff1a; 单总线说明&#xff1a; 单总线传送数据位定义&#xff1a; 校验位数据定义&#xff1a; 二、DHT11读取时为啥要切换模式&#xff1a; 1. 通信时序…

【Linux】进程第三弹(虚拟地址空间)

目录 现象 底层原因 数据不发生修改 数据修改 小总结 地址空间本质 为什么要有地址空间 现象 来看代码&#xff1a; #include <stdio.h> #include <unistd.h> #include <sys/types.h>int val 50;int main() {printf("father process is running…

【springboot】简易模块化开发项目整合Redis

接上一项目&#xff0c;继续拓展项目 1.整合Redis 添加Redis依赖至fast-demo-config模块的pom.xml文件中 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependenc…

九、3 串口发送+printf函数移植+打印汉字

1、接线图 TX与RX交叉连接&#xff0c;TXD接STM32的PA10&#xff0c;RXD接STM32的PA9 VCC与3.3V用跳线帽连接 2、函数介绍 3、代码部分 &#xff08;1&#xff09;发送字节的函数&#xff08;Byte&#xff09; 可直接发送十六进制数 如0x41&#xff0c;也可直接发送字符 如A …

关于函数模板的一些不为人知的用法

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 引言 关于函数模板&#xff0c;大家都不陌生。但是如下的函数模板&#xff0c;大家肯定没有见过 没有提供任何特例化的模板 不管我们传入的是什么类型的参数&#xff0c;都可以匹配到这个模板【所以又被称为…

基于Springboot+Vue的在线问诊系统的设计与实现(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

动手学大模型应用开发之大模型简介

动手学大模型应用开发之大模型简介 主要学习目标什么是大语言模型大模型的能力和特点涌现能力作为基座模型支持多元应用的能力支持对话作为统一入口的能力大模型特点 常见大模型ChatGpt通义千问 LangChainLangChain的核心模块 总结相关学习链接 主要学习目标 学习如何进行大模…

Alignment与Correspondence,用于量化衡量MLLM中视觉特征的视觉语义对齐与视觉结构程度的方法

Alignment与Correspondence&#xff0c;用于量化衡量MLLM中视觉特征的视觉语义对齐与视觉结构程度的方法 FesianXu 20241006 at Wechat Search Team 前言 在多模态大模型&#xff08;Multimodal Large Language Model&#xff0c; MLLM&#xff09;中&#xff0c;视觉特征就像…

ai智能论文生成系统有用吗?分享5款ai文献综述自动生成器

近年来&#xff0c;人工智能&#xff08;AI&#xff09;技术在学术写作领域的应用越来越广泛&#xff0c;尤其是在文献综述的自动生成方面。AI智能论文生成系统通过深度学习和自然语言处理技术&#xff0c;能够帮助研究人员快速生成高质量的文献综述&#xff0c;从而提高写作效…