[蓝桥杯学习] 树状数组的二分

要解决这个问题,插入和删除可以用STL实现,2操作如果用树状数组实现的话,将数的值作为树状数组的下标,即值域。

树状数组有两种操作,一个是更新某点的值,另一个是求区间和。

mid = (l+r)/2 ,求和 t[a+1] 到 t[mid] ,设为x,如果x小于k,就mid右移,如果x大于k,就mid左移

二分查找的代码

注意:不同点是,可能第k大的数 c 到第 k+1 大的数 b之间都是到a求和有k个值,所以我们要找左边界,不断更新ans,遇到相等的,先记录下来,然后把mid左移。

int find(int a,int k)
{
  int l = a+1; 
  int r = maxn;
  int mid;
  int ans=-1;
  while(l <= r)
  {
    mid = (l+r) >> 1;
    if(query(mid) - query(a) = k) ans = mid;
    if(query(mid) - query(a) >= k) r = mid-1;
    else l = mid+1; 
  }
  return ans;
}

例题

第i个小朋友前面有ai个小朋友,如果后面没有比他低的,那么他的身高是 ai+1

如果我们从前往后遍历数组a[i] ,我们是无法知道后面小朋友的身高,所以要从后往前遍历,但是,计算中间小朋友的身高时,还是得知道后面有多少人比他低。

使用树状数组时,从后往前遍历时,每确定一个身高,就把该下标从1变为0,这样,往前计算小朋友身高时,通过求和,就能得到这个小朋友的身高,例:原本是111111,两次删除之后是100111,ai=3的小朋友,ai+1=4,但是很明显,确定身高的小朋友都比他低,所以要后移两位(通过0的存在实现了),移到了6

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vmware安装Windows11系统及下载MySQL步骤(超详细)

一、创建虚拟机 ①选择自定义 ②直接点击下一步 ③选择Windows 11 x64 ④命名虚拟机以及选择路径 ⑤新版本的虚拟机需要加密&#xff08;密码需要8个字符以上&#xff09; ⑥选择UEFI ⑦处理器配置&#xff08;根据自己的需求&#xff09; ⑧设置虚拟机的内存 ⑨选择不使用网络…

1878_emacs company backend的选择尝试

Grey 全部学习内容汇总&#xff1a; GitHub - GreyZhang/editors_skills: Summary for some common editor skills I used. 1872_emacs company backend的选择尝试 从C语言开发的使用场景角度&#xff0c;通过测试尝试看看这个company的backend应该来如何配置。 主题由来介…

静态电压继电器 JY-11A 辅助电压110VDC 额定电压100VAC 安装方式 板前接线

JY-10系列集成电路电压继电器 JY-11A集成电路电压继电器 JY-12A集成电路电压继电器 JY-11C集成电路电压继电器 JY-11D集成电路电压继电器 JY-12B集成电路电压继电器 JY-12C集成电路电压继电器 JY-12D集成电路电压继电器 1概述 JY系列集成电路电压继电器用于发电机、变…

计算机网络 —— 物理层

物理层 2.1 物理层的基本概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。 物理层为数据链路层屏蔽了各种传输媒体的差异&#xff0c;使数据链路层只需要考虑如何完成本层的协议和服务&#xff0c;而不必考虑网络具体的传输媒体是什么 2.2 物理层下…

喝羊奶的好处,羊奶与健康的秘密揭示

喝羊奶的好处&#xff0c;羊奶与健康的秘密揭示 相信大家都听说过喝牛奶的好处&#xff0c;但是你听说过喝羊奶的好处吗&#xff1f;羊奶是一种营养丰富、味道醇香的乳制品&#xff0c;它不仅滋补身体&#xff0c;还具有许多独特的健康功效。今天&#xff0c;就让小编羊大师带…

MySQL基础笔记(4)DQL数据查询语句

DQL用于查找数据库中存放的记录~ 目录 一.语法 二.基础查询 1.查询多个字段 2.设置别名 3.去除重复记录 三.条件查询 1.基础语法 2.常见条件 四.分组查询 1.聚合函数 2.语法 五.排序查询 六.分页查询 附注&#xff1a;DQL执行顺序 1.编写顺序 2.执行顺序 ​​​…

[足式机器人]Part2 Dr. CAN学习笔记-动态系统建模与分析 Ch02-8 Bode Plot伯德图

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-动态系统建模与分析 Ch02-8 Bode Plot伯德图 Bode Plot 手绘技巧与应用

前端实现截图并下载

原理: 使用一个名为html2canvas的JavaScript库。这个库允许你将当前的HTML内容渲染到一个canvas元素上&#xff0c;然后将其转换为图像并进行下载。 你需要在项目中引入html2canvas库。你可以从官方网站&#xff08;https://html2canvas.hertzen.com/&#xff09;下载&#xf…

交通能见度监测站是什么

TH-NJD10交通能见度监测站是一种用于监测道路交通能见度的设备。它能实时监测道路上的能见度值&#xff0c;为驾驶员提供实时的路况信息&#xff0c;帮助他们在恶劣天气条件下安全驾驶。 交通能见度监测站通常由传感器、数据采集器和传输设备组成。传感器负责测量道路上的能见度…

K8S中SC、PV、PVC的理解

存储类&#xff08;StorageClass&#xff09;定义了持久卷声明&#xff08;PersistentVolumeClaim&#xff09;所需的属性和行为&#xff0c;而持久卷&#xff08;PersistentVolume&#xff09;是实际的存储资源&#xff0c;持久卷声明&#xff08;PersistentVolumeClaim&#…

ISPM 十四五规划

指导思想 坚定不移贯彻创新、协调、绿色、开放、共享的新发展理念&#xff0c;坚持稳中求进工作总基调 2035展望 展望2035年&#xff0c;基本实现新型工业化、信息化、城镇化、农业现代化&#xff0c;建成现代化经济体系。 重大科技基础设施 深入实施制造强国战略 相关关键…

Gartner发布2024年SASE融合战略路线图

向云计算和远程工作的转变增加了 SASE 需求&#xff0c;以实现从任何设备的安全访问。安全和风险管理领导者必须将网络和安全融合到一两个明确合作的 SASE 供应商产品中&#xff0c;并淘汰遗留的边界系统。 主要发现 安全访问服务边缘 (SASE) 框架为混合劳动力以及设备、分支机…

2023年生成式AI全球使用报告

生成式人工智能工具正在迅速改变多个领域&#xff0c;从营销和新闻到教育和艺术。 这些工具使用算法从大量培训材料中获取新的文本、音频或图像。虽然 ChatGPT 和 Midjourney 之类的工具可以用来实现超出人类能力或想象力的艺术效果&#xff0c;但目前它们最常用于比人类更轻松…

HarmonyOS 编写副标题 解决 ubTitle 可能淘汰问题

目前 harmonyos 中 title属性目前用的还正常 但是ubTitle副标题 会提示我们 可能要淘汰了 虽然说 我们目前 强行用 还是可以生效 但可能 哪天版本更新移除了这个属性 代码就报错了 我们可以通过Builder 来写这个副标题 和 标题 Entry Component struct Index {build() {Row(…

2024年跨境电商上半年营销日历,建议收藏

2024年伊始&#xff0c;跨境电商开启新一轮的营销竞技&#xff0c;那么首先需要客户需求&#xff0c;节假日与用户需求息息相关&#xff0c;那么接下来小编为大家整理2024上半年海外都有哪些节日和假期&#xff1f;跨境卖家如何见针对营销日历选品&#xff0c;助力卖家把握2024…

引领未来,尽享舒适——Goalar高拉科技智能马桶

随着科技的飞速发展&#xff0c;智能家居已经成为现代生活的必备品。在这个时代&#xff0c;一款高品质的智能马桶不仅能提升消费者的生活品质&#xff0c;更是对消费者健康的细心呵护。Goalar高拉科技智能马桶&#xff0c;用心为消费者打造智能卫浴的未来。 【创新设计&#x…

Spring Cloud OpenFegin(创建、发送请求)源码

感觉这一年来学习的知识点都是零零碎碎的&#xff0c;没有形成一个系统闭环&#xff0c;于是萌生了系统总结 Spring Cloud 源码相关的知识点的想法。后续会持续更新系统性的文章。纯原创&#xff0c;debug 总结。今天先简单debug下 OpenFegin 的创建吧。 项目结构 标准的…

JavaScript数组操作完全手册

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ 目录 ✨ 前言 第一节:数组的定义和创建 1.1 数组字面量 [] 1.2 Array构造函数 1.3 Array.of() …

嵌入式-C语言-ASCII码(字符)转换二进制和十六进制

一&#xff1a;ASCII码是什么&#xff1f; 问&#xff1a;ASCII码是什么&#xff1f; 答&#xff1a;ASCII码&#xff08;American Standard Code for Information Interchange&#xff0c;美国信息交换标准代码&#xff09;是一种用于表示字符的标准编码系统。它使用7位或8位…