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

题单:二分查找(==x个数)

样例 #1

样例输入 #1

10
7 2 1 3 5 9 5 1 8 1
5
0
1
4
9
10

样例输出 #1

0
3
0
1
0

提示

所有数据满足:

#include<bits/stdc++.h>
using namespace std;
int a[50000005];
int bin_small(int l,int r,int key)
{int ans=-1;while(l<=r){int mid=(l+r)/2;if(a[mid]>key){r=mid-1;}else if(a[mid]<key){l=mid+1;}else if(a[mid]==key){ans=mid;r=mid-1;}}return ans;
}
int bin_big(int l,int r,int key)
{int ans=-1;while(l<=r){int mid=(l+r)/2;if(a[mid]>key){r=mid-1;}else if(a[mid]<key){l=mid+1;}else if(a[mid]==key){ans=mid;l=mid+1;}}return ans;
} 
int main(){int n;scanf("%d",&n);int x;for(int i=1;i<=n;i++){scanf("%d",&a[i]);} sort(a+1,a+n+1);int t;scanf("%d",&t);while(t--){scanf("%d",&x);if(bin_big(1,n,x)==-1){cout<<0<<endl;continue;}cout<<bin_big(1,n,x)-bin_small(1,n,x)+1<<endl;}return 0;
}

http://www.dtcms.com/a/241720.html

相关文章:

  • 【Linux篇】细品环境变量与地址空间
  • linux 错误码总结
  • aruco::detectMarkers中什么情况下marker会被判定为rejectedMarkers
  • Linux向文件每行结尾追加指定内容的方法
  • [一生一芯] 如何基于iSTA 分析时序
  • 看板更新不及时该如何规范
  • 校园二手交易平台(微信小程序版)
  • 解析 Go 语言中 time 包在实现定时任务时的易错点
  • LeetCode 146.LRU缓存
  • 边缘计算医疗风险自查APP开发方案
  • 详解pytorch
  • Day50 Python打卡训练营
  • 二刷苍穹外卖 day01
  • LAMP-Cloud与RuoYi-Cloud技术架构对比
  • 鹰盾播放器:安全与用户体验的精妙平衡
  • 从课堂到科研,GpuGeek引领高校AI资源的创新变革
  • 互联网大数据求职面试:从Zookeeper到数据挖掘的技术探讨
  • 笔记——学习HTTP协议
  • 前端技术 HTML iframe 详细解读
  • python 本地运行Qwen3-Embedding-0.6B 模型提供API接口
  • 从算法到系统架构:AI生成内容连贯性技术深度解析
  • 前端面试题之 Vue 专题(2025)
  • 微机原理与接口技术,期末冲刺复习资料(五)
  • 网络安全之内核初级对抗技术分析
  • 第25节 Node.js 断言测试
  • 优化篇 | 网络时延优化有哪些项
  • 2.Socket 编程 UDP
  • Yolov5.6增加注意力机制+ByterTrack:目标检测与跟踪
  • FR4 中的色散如何真正影响传播延迟?
  • Linux 文件类型,目录与路径,文件与目录管理