用vector记录每个数出现的位置,对于要查询的X,要找他落在L~R的个数有几个,用lower_bound和upper_bound查找,相减就是答案。

 1 #include<bits/stdc++.h>
2 using namespace std;
3 int read(){
4 int x=0,f=1;
5 char c=getchar();
6 while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
7 while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar();
8 return x*f;
9 }
10 const int N=2e5+10;
11 int n,q,a;
12 vector<int> m[N];//存一个数他所在的位置
13 int main(){
14 //freopen("query.in","r",stdin);
15 //freopen("query.out","w",stdout);
16 n=read();
17 for(int i=1;i<=n;i++){
18 a=read();
19 m[a].push_back(i);
20 }
21 q=read();
22 for(int i=1;i<=q;i++){
23 int L,R,X;
24 L=read(),R=read(),X=read();
25 int p1=lower_bound(m[X].begin(),m[X].end(),L)-m[X].begin();
26 int p2=upper_bound(m[X].begin(),m[X].end(),R)-m[X].begin();
27 printf("%d\n",p2-p1);//个数
28 }
29 }

220514 T1 查询 (二分查找+vector)的更多相关文章

  1. 手把手教你用java实现二分查找树及其相关操作

    二分查找树(Binary Search Tree)的基本操作有搜索.求最大值.求最小值.求前继.求后继.插入及删除. 对二分查找树的进行基本操作所花费的时间与树的高度成比例.例如有n个节点的完全二叉树 ...

  2. C++算法库学习__std::sort__对 vector进行排序_排序后就可以进行使用std::lower_bound进行二分查找(查找第一个大于等于指定值的迭代器的位置)__std::unique

    std::sort      对vector成员进行排序; std::sort(v.begin(),v.end(),compare);   std::lower_bound 在排序的vector中进行 ...

  3. K-th Number 线段树(归并树)+二分查找

    K-th Number 题意:给定一个包含n个不同数的数列a1, a2, ..., an 和m个三元组表示的查询.对于每个查询(i, j, k), 输出ai, ai+1, ... ,aj的升序排列中第 ...

  4. PHP实现文本快速查找 - 二分查找

    PHP实现文本快速查找 - 二分查找法 起因 先说说事情的起因,最近在分析数据时经常遇到一种场景,代码需要频繁的读某一张数据库的表,比如根据地区ID获取地区名称.根据网站分类ID获取分类名称.根据关键 ...

  5. Leetcode 35 Search Insert Position 二分查找(二分下标)

    基础题之一,是混迹于各种难题的基础,有时会在小公司的大题见到,但更多的是见于选择题... 题意:在一个有序数列中,要插入数target,找出插入的位置. 楼主在这里更新了<二分查找综述>第 ...

  6. PHP 二分查找(详细)

    <?php //        PHP 二分查找 function search($arr, $sea){ $low = 0;                // 确定数组的开始的下标 $len ...

  7. PHP-----二维数组和二分查找

    二维数组由行和列组成.由arr[$i][$j]表示,先后表示行和列,类似于坐标点. 打印二维数组-----通过两次遍历,第一次遍历每一行,第二次遍历每一行的具体元素,并且通过使用count($arr[ ...

  8. List<T>线性查找和二分查找BinarySearch效率分析

    今天因为要用到List的查找功能,所以写了一段测试代码,测试线性查找和二分查找的性能差距,以决定选择哪种查找方式. 线性查找:Contains,Find,IndexOf都是线性查找. 二分查找:Bin ...

  9. LeetCode:Search Insert Position,Search for a Range (二分查找,lower_bound,upper_bound)

    Search Insert Position Given a sorted array and a target value, return the index if the target is fo ...

随机推荐

  1. 部署CDH集群环境准备

    一.系统centOS7以上,至少三台主机 添加ip 主机名映射关系:(每台主机都要做) vim /etc/hosts 127.0.0.1 localhost localhost.localdomain ...

  2. Python 元类详解

    一.Type介绍 在Python中一切皆对象,类它也是对象,而元类其实就是用来创建类的对象(由于一切皆对象,所以元类其实也是一个对象). 先来看这几个例子: 例1: In [1]: type(12) ...

  3. CSS 上下居中和最低高度语法

    /*上下居中*/ vertical-align:center; font-size=line-height; /*最低高度*/ height:auto!important; height:400px; ...

  4. NFS 服务器配置(Ubuntu)

    # NFS 服务器配置(Ubuntu 20.0) # 1.配置网络环境 # NFS 的客户端和服务端必须在同一局域网 # 2.在服务器上安装nfs sudo apt-get install nfs-c ...

  5. HTTP 协议概述

    什么是 HTTP 协议 什么是协议? 协议是指双方,或多方,相互约定好,大家都需要遵守的规则,叫协议. 所谓 HTTP 协议,就是指,客户端和服务器之间通信时,发送的数据,需要遵守的规则,叫 HTTP ...

  6. 一文搞懂什么是kubernetes Service

    1.什么是Service? 在kubernets中,Pod是应用程序的载体,Pod你可以想象成就是容器,为动态的一组Pod提供一个固定的访问入口,它是以一种叫ClusterIP地址来进行标识,而Clu ...

  7. ASP.NET Core依赖注入系统学习教程:关于服务注册使用到的方法

    在.NET Core的依赖注入框架中,服务注册的信息将会被封装成ServiceDescriptor对象,而这些对象都会存储在IServiceCollection接口类型表示的集合中,另外,IServi ...

  8. JVM 配置参数 -D,-X,-XX 的区别

    转载请注明出处: 最近在安全护网行动,需要针对服务进行不断的安全加固,如 对服务的 log4j 的安全配置进行防护,对 fastjson 的漏洞进行安全加固等,最快的防护方法就是通过在服务启动的时候, ...

  9. Spring源码 02 项目搭建

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...

  10. 解读Gartner2022年组装式应用报告:从组装式企业到组装式应用

    摘要:"到2023年,采用组装式方法的组织在新特性交付速度比竞争对手快80%."Gartner 为什么未来的企业是组装式的? 物竞天择,适者生存,企业也是一样,在发展过程中,会为了 ...