[蓝桥杯]-最大的通过数-CPP-二分查找、前缀和

目录

一、题目描述:

二、整体思路:

三、代码:


一、题目描述:

二、整体思路:

  1. 首先要知道不是他们同时选择序号一样的关卡通关,而是两人同时进行两个入口闯关。就是说两条通道存在相同关卡编号的的关卡被通关。
  2. 由于两人必须按各自通道顺序通关,每通关一次要消耗被通关关卡的水晶数,那么很自然想到用前缀和数组来保存各自的消耗的水晶数。
  3. 由于通关关卡数和水晶总数成反比,因此可以枚举所有可能的通关数,通过二分提高查找效率,每次枚举一个可能的通关数都要用一个check函数进行验证。
  4. check函数中,输入可能的通关数,输出完成这个通关数所需要的最小的水晶数,那么一个人的通关数x取值范围是0-mid,另一个人的通关数即为mid-x。利用前缀和数组把两个人所消耗的水晶数相加,每次相加都要和上一次结果比较取最小值。
  5. 注意long long、二分边界问题。

三、代码:

#include<bits/stdc++.h>
using namespace std;
int n,m;
const int N=2e5+10;
using ll = long long;
ll k;
int arr_l[N];
int arr_r[N];
ll prevfix_l[N];
ll prevfix_r[N];
ll check(ll mid){//返回要通过mid道关卡一共要多少块紫水晶ll ans=INT_MAX;for(int x=0;x<=mid;x++){if(x<=n && mid-x<=m) ans=min(ans,prevfix_l[x]+prevfix_r[mid-x]);}return ans;
}
int main(){cin>>n>>m>>k;for(int i = 1;i<=n;i++){cin>>arr_l[i];prevfix_l[i]=prevfix_l[i-1]+arr_l[i];}for(int i=1;i<=m;i++){cin>>arr_r[i];prevfix_r[i]=prevfix_r[i-1]+arr_r[i];}ll l=0,r=n+m+10;while(l+1!=r){ll mid=(l+r)>>1;//mid是通过的关卡数量if(check(mid)<=k){l=mid;}else{r=mid;}}cout<<l;return 0;
}

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

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

相关文章

大一专科,物联网专业,变态成长偏方!

最近看到一个大一&#xff0c;物联网专业的学生提问&#xff1a; 印象中&#xff0c;物联网专业2011年才有的&#xff0c;正好是我毕业那年。 我大概看过物联网专业要学的内容&#xff0c;总结下来就是&#xff0c;比软件不如计算机&#xff0c;比硬件知识不如电子。 不知道老师…

3.15作业

什么是IP地址&#xff1a;IP地址的作用是在网络中唯一标识和定位设备 IP地址和MAC地址的区别&#xff1a;IP地址是逻辑地址&#xff0c;网络层标识设备&#xff0c;可以更改&#xff0c;是全球互联网的唯 一 标识 MAC地址是物…

已解决:android SDK安装时点击SDK Manager出现闪退

1、首先确保电脑里边安装了JDK&#xff0c;并且要把安装路径配置在环境变量里边&#xff0c;避免使用绝对路径 推荐%JAVA_HOME%\bin 2、在C:\Users\huanhuan\Desktop\android-sdk-windows\tools路径下找到android.bat文件打开&#xff0c;把set java_exe后改为jdk中java.exe的路…

Day40-45 网络高级(modbus)

文章目录 Modbus起源1.起源&#xff1a;2.分类&#xff1a;3.优势&#xff1a;4.应用场景&#xff1a;5.ModbusTCP特点&#xff1a; Modbus TCP协议格式1.报文头2.寄存器3.功能码 工具软件使用.Modbus Slave&Poll2.网络调试助手.Wireshark的使用 Modbus RTU1、与Modbus TCP…

Google Play上架:谷歌支付政策变更

目录 政策发布时间概括内容付款政策变动内容归纳google付款用户政策政策发布时间 2024 年 3 月 6 日 概括内容 为遵守《数字市场法案》(DMA) 的规定,从 2024 年 3 月 6 日起,我们将更新付款政策,允许开发者将欧洲经济区 (EEA) 的用户引导至其应用之外的平台(包括推广应用…

YUNBE云贝-PostgreSQL Vacuum详解:深入理解与实践

引言 PostgreSQL作为一款功能强大、开源的关系型数据库管理系统&#xff0c;其性能优化机制中&#xff0c;“VACUUM”命令扮演着至关重要的角色。本文将对PostgreSQL的VACUUM操作进行全面解析&#xff0c;探讨其工作原理、类型以及如何在实际环境中合理应用。 一、VACUUM基础概…

视频监控汇聚管理系统EasyCVR平台RTMP推流异常是什么原因?

AI视频智能分析/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff08;专网、内网、局域网、广域网、公网等&#xff09;&#xff0c;支持设备通过4G、5G、WIFI、有线等方式接入&#xff0c;并将设备进行统一集中接入与视频汇聚管理&#xff0c;经平台接入的视频流能实现多…

无人机自动返航算法部署与飞行控制实践

一、环境准备 无人机硬件&#xff1a;确保你有一台支持自定义飞行控制的无人机&#xff0c;通常配备有Pixhawk或其他类似的飞行控制器。 地面站软件&#xff1a;安装如Mission Planner或QGroundControl等地面站软件&#xff0c;用于配置无人机参数和上传飞行控制代码。 编程环…

基于Python flask 的豆瓣电影排行榜,豆瓣电影评分可视化,豆瓣电影评分预测系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、Python技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&…

1+x中级题目练习复盘(四)

顺序存储较链式存储节省空间、查找性能高、插入和删除性能低。 <ALL表示小于最小 大于ANY表示大于最小值 LEFT OUTER JOIN 等同于LEFT JOIN INNER 和OUTER 不能同时出现 Before注解的方法在每个测试方法执行之前都要执行一次 一个Lambda表达式由以下三部分组…

什么软件可以剪辑录音?录音剪辑推荐3款工具

随着数字技术的发展&#xff0c;录音已经成为我们日常生活和工作中不可或缺的一部分。无论是会议记录、课堂笔记&#xff0c;还是音乐创作、语音聊天&#xff0c;我们都需要用到录音功能。然而&#xff0c;单纯的录音往往不能满足我们的需求&#xff0c;我们还需要对录音进行剪…

cesium-可视化区域分析

全部代码 <template><div id="cesiumContainer" style="height: 100vh;"></div><div id="toolbar" style="position: fixed;top:20px;left:220px;"><el-breadcrumb :separator-icon="ArrowRight&quo…

外卖小程序-购物车模块表结构设计和后端代码

表结构设计 添加购物车代码 Service public class ShoppingCartServiceImpl implements ShoppingCartService {Autowiredprivate ShoppingCartMapper shoppingCartMapper;Autowiredprivate DishMapper dishMapper;Autowiredprivate SetmealMapper setmealMapper;/*** 添加购物…

【C#】KeyDown事件不被触发的问题。

在c#的winform工程中&#xff0c;可能会遇到创建了一个对话框&#xff0c;该对话框内包含了控件作为这个对话框的一部分。软件运行时&#xff0c;键盘输入按键&#xff0c;却没有办法触发对话框的KeyDown事件。是不是很奇怪呢&#xff1f; 首先要明白&#xff1a;主对话…

MySQL--执行一条 select 语句,期间发生了什么?

执行一条 SQL 查询语句&#xff0c;期间发生了什么&#xff1f; 连接器&#xff1a;建立连接&#xff0c;管理连接、校验用户身份&#xff1b;查询缓存&#xff1a;查询语句如果命中查询缓存则直接返回&#xff0c;否则继续往下执行。MySQL 8.0 已删除该模块&#xff1b;解析 …

Vue.js+SpringBoot开发APK检测管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 开放平台模块2.3 软件档案模块2.4 软件检测模块2.5 软件举报模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 开放平台表3.2.2 软件档案表3.2.3 软件检测表3.2.4 软件举报表 四、系统展示五、核心代…

Linux命令:dmesg命令

目录 1 dmesg命令1.1 简介1.2 说明1.3 案例1、显示所有内核消息2、实时监控新消息3、显示特定级别的消息4、将消息输出到文件5、搜索包含特定字符串的被检测到的硬件6、将开机信息发邮件7、打印并清除内核环形缓冲区 总结 1 dmesg命令 1.1 简介 dmesg 命令在 Linux 系统中用于…

Lord 3DMCV7-AHRS 时间同步硬件触发设置

目的:通过FPGA发送脉冲触发IMU采集数据。FPGA发送脉冲时,IMU才有数据产生。 FPGA与IMU的硬件接线就不讲了,这里主要说明的是IMU的设置以及ROS驱动的config文件更改。 1. WIN上位机设置 通过IMU在WINDOWS的上位机SensorConnect对IMU的GPIO、波特率等基本功能进行设值,具体…

通过spring boot/redis/aspect 防止表单重复提交【防抖】

一、啥是防抖 所谓防抖&#xff0c;一是防用户手抖&#xff0c;二是防网络抖动。在Web系统中&#xff0c;表单提交是一个非常常见的功能&#xff0c;如果不加控制&#xff0c;容易因为用户的误操作或网络延迟导致同一请求被发送多次&#xff0c;进而生成重复的数据记录。要针…

用pyecharts的overlap绘制叠加图时,设置的颜色不起作用

问题 用pyecharts绘制叠加图时&#xff0c;如折线图上叠加散点图时&#xff0c;分别设置了自己的颜色&#xff08;三角是绿色&#xff0c;圆形是蓝色&#xff09;&#xff0c;但是渲染颜色和图例颜色不一致&#xff0c;如下图所示&#xff0c;折线颜色和散点颜色相同。 解决…