当前位置: 首页 > news >正文

[蓝桥杯]-最大的通过数-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.lryc.cn/news/318663.html

相关文章:

  • 安卓UI面试题 26-30
  • CPU、GPU、IPU、NPU、TPU、LPU、MCU、MPU、SOC、DSP、FPGA、ASIC、GPP、ECU、
  • 鸿蒙车载原生开发,拓展新版图
  • 15届蓝桥杯第二期模拟赛题单详细解析
  • mysql统计数据库大小
  • centos防火墙firewall-cmd限定特定的ip访问
  • 创维汽车与创维光伏储能亮相2024上海AWE,感受制造业的升级变迁
  • Kafka配置SASL_PLAINTEXT权限。常用操作命令,创建用户,topic授权
  • [Java、Android面试]_05_内存泄漏和内存溢出
  • MySQL-HMA 高可用故障切换
  • 深度学习 精选笔记(11)深度学习计算相关:GPU、参数、读写、块
  • 深度学习 Day27——J7对于ResNeXt-50算法的思考
  • 华为配置敏捷分布式SFN漫游实验
  • 续上篇 qiankun 微前端配置
  • AI日报:欧盟人工智能法案通过后行业面临合规障碍
  • 音视频如何快速转二维码?在线生成音视频活码的教程
  • 开源堡垒机Jumpserver安装教程
  • CentOS 7 socat命令端口转发 —— 筑梦之路
  • SeaTunnel 2.3.4 Cluster in K8S
  • 多模态学习 - 视觉语言预训练综述-2023-下游任务、数据集、基础知识、预训练任务、模型
  • Vite为什么比Webpack快
  • 因聚而生 数智有为丨软通动力携子公司鸿湖万联亮相华为中国合作伙伴大会2024
  • 724.寻找数组的中心下标
  • Selenium 是什么?简单了解Selenium
  • 钡铼技术有限公司R40路由器工业4G让养殖环境监控更高效
  • vue2 / vue3 路由(返回跳转)时判断 + 取消跳转
  • 【设计模式】Java 设计模式之代理模式(Proxy Pattern)
  • 逻辑数据平台的 NoETL 之道(内含QA)
  • 低代码与数智制造:引领软件开发的革新之旅
  • 安装 AWS Load Balancer Controller 附加组件