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

数星星--二分

https://www.matiji.net/exam/brushquestion/17/4498/F16DA07A4D99E21DFFEF46BD18FF68AD

二分思路不难,关键的区间内个数的确定

#include<bits/stdc++.h>
using namespace std;
#define N 100011
#define inf 0x3f3f3f3f
typedef long long ll;
typedef pair<int,int> pii;
ll n,l,r,c; 
ll mid,an;
ll a[N],b[N];
ll sl,sr;
bool check(ll x)
{ll cc=0;for(int i=1;i<=n;i++){if(x<b[i]) continue;if(b[i]<sl){ll l1=(sl-b[i]-1)/a[i];///这里非常巧妙,可能是与区间开闭有关 ll r1=(x-b[i])/a[i];cc+=(r1-l1);	if(cc>=c) return true;}else{ll r1=(x-b[i])/a[i];cc+=r1+1;if(cc>=c) return true;}}return false;
}
void solve() {cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++) cin>>b[i];cin>>l>>r>>c;sl=l,sr=r;while(l<=r){ll mid=(l+r)>>1;if(check(mid)){an=mid;r=mid-1;}else l=mid+1;}if(an<sr&&check(an)) cout<<an;else cout<<-1;
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);solve();return 0;
}

相关文章:

  • AI Agent全解析:定义、原理与B2B企业中的应用落地指南
  • 【Linux手册】进程终止:进程退出和信号的响应机制
  • C++面向对象-友元
  • CSS 与 JavaScript 加载优化
  • Java调用金蝶webApi保存接口修改数据
  • 无线USB转换器TOS-WLink的无线USB助手配置文件详细胡扯
  • Unreal引擎——Chaos物理引擎(不)详解
  • 【队列】----【Keep In Line】
  • 阶段二开始-第一章—8天Python从入门到精通【itheima】-116节(封装)
  • 国防科大刘丽教授团队提出了一种用于合成孔径雷达目标识别的解耦自监督子空间分类器|TGRS
  • C++11新库特性:从入门到精通
  • 《Opto-Electronic Advances》热点论文速览(2025)
  • 【Python】实现对LGBT+ rights worldwide (2025)数据集的可视化展示
  • react + ant-design实现数字对比动画效果:当新获取的数字比之前展示的数字多或少2时,显示“+2”或“-2”的动画效果
  • A模块 系统与网络安全 第三门课 网络通信原理-2
  • 《二分枚举答案(最值问题)》题集
  • 3.web逆向之开发者工具调试
  • Spring Cloud 微服务(服务注册与发现原理深度解析)
  • VUE使用过程中的碰到问题记录
  • 听觉节律如何重塑α波?FREQ-NESS解密大脑动态重构