XCSY暑期集训模拟赛2T3善良

news/2025/10/3 19:54:35/文章来源:https://www.cnblogs.com/ZYXzyx123/p/19124919

XCSY暑期集训模拟赛2T3善良

暴力(50pts)

对于每个询问,遍历\([l,r]\),统计其中k的数量,时间复杂度为\(O(nm)\)

for(int i=1;i<=n;i++)	cin>>a[i];
while(m--){cin>>l>>r>>k;int ans=0;for(int i=l;i<=r;i++){if(a[i]==k)	ans++;}cout<<ans<<'\n';
}

二分(100pts)

\(map[i]\)统计数字\(i\)出现的所有位置,每个\(map[i](1 \leq i \leq n)\)都是单调递增的。

对于每个询问,在\(map[k]\)中二分找到第一个\(\geq l\)和最后一个\(\leq r\)的数的位置,计算其中共包含多少个数即可(包含左右端点,具体见代码)

map<int,vector<int> >mp;//mp[i]表示数字i出现的所有位置
for(int i=1;i<=n;i++){cin>>a;mp[a].push_back(i);
}
while(m--){cin>>l>>r>>k;vector<int>v=mp[k];if(v.empty()||v[0]>r||v[v.size()-1]<l){//没有符合要求的数cout<<0<<'\n';continue;}int left=0,right=v.size()-1;while(left<right){int mid=left+right>>1;if(v[mid]<l)	left=mid+1;else	right=mid;}int x=right;//找第一个≥l的数的位置if(v[v.size()-1]<=r){//所有x以后的数均≤r,最后一个≤r的数的位置就是最后一个位置cout<<v.size()-x<<'\n';//左端点为x,右端点为v.size()-1,共有v.size()-1-x+1=v.size()-x个数}else{left=right,right=v.size()-1;while(left<right){int mid=left+right>>1;if(v[mid]>r)	right=mid;else	left=mid+1;}//找第一个>r的数的位置,减1就是最后一个≤r的数的位置cout<<left-x<<'\n';//左端点为x,右端点为left-1,共有left-1-x+1=left-x个数}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/926261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

玳瑁的嵌入式日记---0928(ARM--UART) - 指南

玳瑁的嵌入式日记---0928(ARM--UART) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

网站开发需要那些技能电子商务平台中搜索词拆解时

产生原因:因为项目最近设计到了一个Quartz相关的模块&#xff0c;前端需要传递时间参数到后台, 然后后台设置一个新的定时任务, 所以后台需要一个可以实现Date与cron之间的相互转换(因为Quartz需要的Cron格式的数据)&#xff0c;所以就借助java的SimpleDateFormat的格式化,然后…

解决Visual Studio中无法使用scanf和C++万能头的问题

解决Visual Studio中无法使用scanf和C++万能头的问题Visual Studio中无法使用scanf和C++万能头? 来吧,跟我一起操作! 1.在桌面上创建万能头文件, 并命名为stdc++.h: 记得把文件后缀名给打开哟! 2.用记事本打开std…

太仓专业网站建设我想创个网站

目录 项目背景 项目技术栈 项目介绍 项目亮点 项目启动 1.创建SSM&#xff08;省略&#xff09; 2.配置项目信息 3.将前端页面加入到项目中 4.初始化数据库 5.创建标准分层的目录 6.创建和编写项目中的公共代码以及常用配置 7.创建和编写业务的Entity、Mapper、…

网页站点不安全静海网站开发

虚拟机是软件 对于第一次听说虚拟机&#xff08;Virtual Machine&#xff0c;VM&#xff09;的人来说&#xff0c;可能以为还要再花钱买一台计算机&#xff0c;这恐怕是他们最担心的。所谓虚拟机&#xff0c;就是在你的计算机上再虚拟出另一台计算机来。这台虚拟出来的计算机&…

技术培训学校机构做360手机网站优化

1.1. Socket简介 套接字&#xff08;socket&#xff09;是一种通信机制&#xff0c;凭借这种机制&#xff0c; 客户端<->服务器 模型的通信方式既可以在本地设备上进行&#xff0c;也可以跨网络进行。 Socket英文原意是“孔”或者“插座”的意思&#xff0c;在网络编程…

北京正规制作网站公司网页无法访问qq可以登陆

默认情况下&#xff0c;所有的新邮箱数据都是启用Exchange搜索&#xff0c;仅当多个邮箱迁移到该Exchange Server时&#xff0c;才禁用搜索索引。 获取数据库的Exchange搜索索引 使用Get-MailboxDatabase 来获取数据库的搜索索引 Get-MailboxDatabase | Select-Object Name,…

做爰全过程免费网站的视频教程网站资讯创作

本文将介绍以下内容&#xff1a; • 面向对象基本概念 • 类和结构体简介 • 引用类型和值类型区别 1. 引言 提起class和struct&#xff0c;我们首先的感觉是语法几乎相同&#xff0c;待遇却翻天复地。历史将接力棒由面向过程编程传到面向对象编程&#xff0c;class和stru…

学校网站管理与建设办法怎样建立自己购物网站

主流开发语言 Java 简介&#xff1a;Java 是一种广泛使用的面向对象的编程语言&#xff0c;由Sun Microsystems公司于1995年发布&#xff0c;后由Oracle公司接手。Java具有“一次编写&#xff0c;到处运行”的特性&#xff0c;它的跨平台能力得益于Java虚拟机&#xff08;JVM&a…

东莞网站设计公司排名企业网站建设感想

在 Oracle 数据库中&#xff0c;你可以使用 ALTER TABLE 语句来添加字段&#xff0c;并使用 COMMENT ON COLUMN 语句来添加字段注释。以下是一个示例&#xff1a; 假设你有一个名为 employees 的表&#xff0c;你想要添加一个名为 email 的字段&#xff0c;并为其添加注释。 …

最新企业网站开发和设计软件个人域名可以做公司网站么

简介&#xff1a; 淘宝搜索推荐、视频搜索的背后使用了什么样的检索技术&#xff1f;非结构化数据检索&#xff0c;向量检索&#xff0c;以及多模态检索&#xff0c;它们到底解决了什么问题&#xff1f;今天由阿里巴巴达摩院的科学家从业务问题出发&#xff0c;抽丝剥茧&#x…

前端如何优雅地生成唯一标识?——一份跨环境 UUID 设备函数的封装与实战

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

广州网站建设外包公司网站建设情况自查报告

1、syntax"proto3":表明使用的是proto3格式&#xff0c;如果不指定则为proto22、package test:定义包名为test&#xff0c;生成类时&#xff0c;会产生一个目录为test3、message Person:消息主体内容&#xff0c;里面为各个字段的定义二、生成对应的PHP类定义好Perso…

解码红黑树

红黑树全面解析:从设计逻辑到代码落地 红黑树是自平衡二叉搜索树(Self-Balanced BST) 的经典实现,核心解决了普通 BST 失衡、AVL 树过度平衡的问题。它通过 “颜色约束” 实现 “大致平衡”,兼顾查找性能与插入 /…

苹果首款折叠屏iPhone全爆料汇总:明年9月发布、1.3万元起步

苹果首款折叠屏iPhone全爆料汇总:明年9月发布、1.3万元起步Posted on 2025-10-03 19:30 lzhdim 阅读(0) 评论(0) 收藏 举报从多方权威爆料基本可以确定,苹果将会在明年9月发布首款可折叠iPhone,与iPhone 18 Pr…

英文笔记

column 列 float 浮动 margin 边距 font 字体 border 边框 radius 圆角 background 背景 color 颜色 padding 填充

苹果最强平板!M5版iPad Pro开箱上手提前泄露:升级12GB内存 GPU性能大涨

苹果最强平板!M5版iPad Pro开箱上手提前泄露:升级12GB内存 GPU性能大涨Posted on 2025-10-03 19:30 lzhdim 阅读(0) 评论(0) 收藏 举报日前,俄罗斯博主Wylsacom提前发布M5芯片版iPad Pro开箱视频,甚至还在Gee…

深入解析:深入MySQL、JVM与Maven核心原理​

深入解析:深入MySQL、JVM与Maven核心原理​2025-10-03 19:32 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bl…

创世网站建设 优帮云山西省住房和城乡建设厅门户网官方网站

上一次我们讲了使用Azure DevOps Pipeline实现.Net Core程序的CI。这次我们来演示下如何使用Azure DevOps实现.Net Core程序的CD。实现本次目标我们除了Azure DevOps外还需要&#xff1a;一台安装了Docker的主机一个 Docker Hub 账号上一次我们的CI实现了&#xff1a;发布>编…

网站域名备案后公示南宁做网站比较好的公司

目录 1.动态内存分配的原因 2.动态内存函数的介绍 2.1malloc和free函数 2.2calloc函数 2.3realloc函数 3. 常见的动态内存错误 3.1 对NULL指针的解引用操作 3.2 对动态开辟空间的越界访问 3.3 对非动态开辟内存使用free释放 3.4 使用free释放一块动态开辟内存的一部…