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

【模板】整数域二分【牛客tracker 每日一题】

【模板】整数域二分

时间限制:3秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

对于给定的长度为n nn的数组{ a 1 , a 2 , … , a n } \{a_1,a_2,…,a_n\}{a1,a2,,an},你需要实现:

  1. 区间元素个数查询:输出数组中大于等于l ll且小于等于r rr的元素个数;

你一共需要处理q qq次操作。

输入描述:

第一行输入两个整数n , q ( 1 ≦ n , q ≦ 2 × 10 5 ) n,q(1≦n,q≦2×10^5)n,q(1n,q2×105)代表数组中的元素数量、操作次数。
第二行输入n nn个整数a 1 , a 2 , … , a n ( − 10 9 ≦ a i ≦ 10 9 ) a_1,a_2,…,a_n(−10^9≦a_i≦10^9)a1,a2,,an(109ai109)代表初始数组。
此后q qq行,每行输入两个整数l , r ( − 10 9 ≦ l , r ≦ 10 9 ) l,r(−10^9≦l,r≦10^9)l,r(109l,r109)代表区间的边界。

输出描述:

对于每一次查询操作,在一行上输出一个整数代表区间中的元素个数。

示例1

输入:

7 3 -7 -1 3 6 2 -4 9 0 3 -1 4 -10 10

输出:

2 3 7

解题思路

本题核心是排序预处理+二分查找,高效解决大规模数组的区间计数查询问题。由于需要处理高达2 × 10 5 2\times10^52×105次的区间查询,暴力遍历会超时,因此先将数组进行升序排序,利用有序数组的特性优化查询。对于每次查询[ l , r ] [l,r][l,r],使用lower_bound找到数组中第一个大于等于l ll的元素下标,使用upper_bound找到第一个大于r rr的元素下标,两个下标做差即可得到区间内的元素个数。算法预处理复杂度为O ( n log ⁡ n ) O(n\log n)O(nlogn),单次查询复杂度为O ( log ⁡ n ) O(\log n)O(logn),完美适配题目大数据规模约束。

总结

核心逻辑:将无序数组排序,通过二分查找快速定位区间边界,计算元素数量。
关键操作:数组排序、lower_bound/upper_bound二分定位、下标差值计算。
效率保障:对数级的查询效率,轻松处理2 × 10 5 2\times10^52×105规模的数据与查询。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=2e5+10;constll INF=1e18;constll M=1e6+10;ll a[N];intmain(){ll n,q;cin>>n>>q;for(ll i=1;i<=n;i++)cin>>a[i];sort(a+1,a+1+n);for(ll i=1,l,r;i<=q;i++){cin>>l>>r;ll L=lower_bound(a+1,a+1+n,l)-a;ll R=upper_bound(a+1,a+1+n,r)-a-1;cout<<R-L+1<<endl;}return0;}
http://www.jsqmd.com/news/725735/

相关文章:

  • 2026 国内最新靠谱的推拉窗推荐!广东佛山优质厂家榜单发布,靠谱 - 十大品牌榜
  • 云之家“待审批”存在任务,与ERP不同步
  • Laravel Octane × AI Workers高并发崩溃真相:Event Loop阻塞、内存泄漏与PHP-FPM回退策略(附12个真实core dump分析截图)
  • 微信立减金回收平台推荐:正规、安全、有保障! - 团团收购物卡回收
  • 2026 物流起降点布局无人机低空平台推荐,冰柏科技这样做更省心 - 品牌2026
  • 无锡本地烧烤龙虾推荐 - 拓知云途
  • 2026年3月短视频服务公司口碑推荐,外贸短视频剪辑/短视频咨询/短视频剪辑/短视频外包,短视频服务机构哪家可靠 - 品牌推荐师
  • 2026年武汉抖音代运营与GEO推广完全指南:5大服务商深度横评 - 年度推荐企业名录
  • 2026 无人机侦测反制无人机低空平台推荐,冰柏科技自研方案讲解 - 品牌2026
  • P1193 洛谷团队训练 VS 传统团队训练【洛谷算法习题】
  • 2026年5月帝舵中国区售后服务网络优化升级(最新电话及地址)【客观推荐落地实操真实体验】 - 亨得利官方服务中心
  • 如何轻松下载全网小说?novel-downloader 多平台小说下载终极指南
  • 教育先行破局AI落地难题 天扬智能魏徐生发布企业AI化五步方法论 - 速递信息
  • 四川佳兴鼎盛商贸:成都建筑垃圾清运处置排名 - LYL仔仔
  • 今邦成型试验机代理商查询|正规代理购买渠道推荐 - 品牌推荐大师1
  • 别再乱写NFC标签了!手把手教你读懂NTAG213/215/216的UID、容量页和静态锁
  • 国内商协会数字化平台专业服务商实力排行一览 - 奔跑123
  • 福州哪个生活美容院比较好?本地人实测推荐这3家靠谱机构 - 品牌2026
  • 2026年九州再生医疗官方服务商选型指南:正规跨境医疗服务机构实力解析 - 商业小白条
  • 如何用Sunshine搭建你的个人游戏串流服务器?终极免费方案指南
  • Android Camera2 API搞不定?试试用UVC协议直连USB摄像头(附完整代码与避坑清单)
  • 福州颈部护理好的美容机构推荐,专业护颈解锁天鹅颈 - 品牌2026
  • 天津昊力复合钢管制造:晋城水涂塑复合钢管出售找哪家 - LYL仔仔
  • Mitsuba-Blender插件:三步实现Blender物理级渲染
  • 避坑指南:用VTK在Qt界面显示STL时,如何解决界面卡顿、警告和乱码问题?
  • 2026不锈钢水箱及消防设备厂家深度横评与选购指南 - 深度智识库
  • Crossref REST API 终极指南:从零开始构建学术元数据查询系统
  • 南昌医疗纠纷代理律师委托推荐:如何找到具备医法双背景的专业人士? - 品牌2025
  • 双系统党福音:Win11+Ubuntu22.04双硬盘分区方案,保姆级避坑指南(含RTX4090驱动)
  • 2026南昌靠谱民商事代理律师推荐:专业处理合同纠纷股权及医疗损害案件 - 品牌2025