算法提高之线段树

算法提高之线段树

存储方式

  • 线段树除了最后一层叶子节点以外是一个满二叉树
  • 类似堆的形式 因此可以用堆来存储线段树
  • 同时注意到 数组是可以模拟堆的 因此我们可以用一位数组来存储线段树
    • 节点编号为u,对应左子树编号为2 * u,右子树编号为2 * u + 1
    • 装逼一点:u<<1 , u<<1 | 1

重要操作(函数)

  • pushup
    • 向上返回,下面节点更新后,需要将父节点也更新,即在子节点更新完pushup()一次
  • pushdown
    • 向下递归,同理
  • build
    • 建树:从1开始建树大小为{1,n}
      • 从mid分成**{l,mid},{mid+1,r}**两部分
      • 递归建树
  • query
    • 询问某个性质(看题干)
    • 比如求区间最大值,(如果可以分为两部分)求两部分最大值的最大值
  • modify
    • 修改某个节点的值
    • 二分找到x的位置

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

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

相关文章

C++ 学习 指针上

&#x1f64b; 继续C Primer 第五版的学习 注 后面还会有关于指针进一步的学习 本篇为基础篇 &#x1f33f;可以先看看这两篇 或许可以进一步加深一下对指针的理解 指针和数组 指针简介 &#x1f308; 上一次讲了 C中的引用&#xff0c;现在总结一下指针和引用的主要区别。 …

uniapp微信小程序解决open-type获取用户头像,返回临时路径问题!

解决 open-type 为 chooseAvatar&#xff0c;返回临时路径问题 文章目录 解决 open-type 为 chooseAvatar&#xff0c;返回临时路径问题效果图Demo获取头像回调数据结构效果图解决方式上传到服务器转base64 基于微信小程序获取头像昵称规则调整后&#xff0c;当小程序需要让用户…

深入了解FreeRTOS:实时操作系统的核心概念和应用

前言&#xff1a; 在当今数字化世界中&#xff0c;嵌入式系统扮演着至关重要的角色&#xff0c;从工业自动化到智能设备&#xff0c;无所不在。而实时操作系统&#xff08;RTOS&#xff09;则是这些系统的核心引擎&#xff0c;它们负责管理任务、资源和时间&#xff0c;确保系统…

RmlUi 初试,hello world

前言 最近在研究GUI的各个方面&#xff0c;最后被导向了web render&#xff0c;真的是一言难尽。 这里就其中一个比较有意思的项目 RmlUi 浅试一下&#xff0c;没想要还挺麻烦&#xff01;这里留下note以供后人参考。 环境搭建 Windows VS2022 pre-binary library 需要指…

高通Android 12/13 设置和获取ADB状态

/*** 设置ADB状态** param isEnable*/public void setADB(boolean isEnable) {Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ADB_ENABLED, isEnable ? 1 : 0);}/*** 获取ADB状态** return*/public boolean getADB() {return Settings.Global.getIn…

虚拟化技术[3]之网络虚拟化

网络虚拟化 网络虚拟化简介核心层网络虚拟化接入层网络虚拟化虚拟机网络虚拟化案例: VMware网络虚拟化技术虚拟网络接口卡虚拟交换机vSwitch分布式交换机端口组VLAN 网络虚拟化简介 传统的数据中心&#xff1a;服务器之间操作系统和上层软件异构、接口与数据格式不统一&#x…

链表相交-力扣

在做这道题时&#xff0c;首先想到的解法是遍历第一个链表&#xff0c;将其全部添加到哈希表中&#xff0c;然后遍历第二个链表&#xff0c;如果能够再哈希表中查到元素&#xff0c;则返回这个元素&#xff0c;否则返回NULL。 但在实际写代码时&#xff0c;第一次写默认为链表相…

Redis实现MQ

MQ的提出 上游发出请求后阻塞等待下游给到反馈&#xff0c;否则整个流程将一直阻塞。 提出mq之后&#xff1a;即有producer mq consumer 三者 MQ的特点 异步解耦 在有了 mq 后&#xff0c;producer 不需要过分关心 consumer 的身份信息&#xff0c;只需要把消息按照指定的协议…

Python 潮流周刊#52:Python 处理 Excel 的资源

本周刊由 Python猫 出品&#xff0c;精心筛选国内外的 250 信息源&#xff0c;为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景&#xff1a;帮助所有读者精进 Python 技术&#xff0c;并增长职业和副业的收入。 本期周刊分享了 12 篇文…

基于hive的酒店价格数据可视化分析系统设计和实现

摘要 本文基于Django框架和Hive技术&#xff0c;设计和实现了一种酒店价格数据可视化分析系 统&#xff0c;旨在为酒店管理者提供直观、清晰的数据洞察和决策支持。在研究中&#xff0c;首先深入分 析了酒店价格数据可视化分析系统的背景和意义&#xff0c;认识到对于酒店行…

3.Redis之Redis的环境搭建redis客户端介绍

1.版本的选取 安装 Redis&#xff1a;Redis 5 系列~~ 在 Linux 中进行安装~~ Redis 官方是不支持 Windows 版本的~~ 微软维护了一个 Windows 版本的 Redis 分支 Centos和Ubuntu.Docker 2.如何进行安装&#xff1f;&#xff1f;&#xff1f; 1.ubuntu 2.centos yum instal…

arcgisPro将一个图层的要素复制到另一个图层

1、打开两个图层&#xff0c;如下&#xff0c;其中一个图层中有两个要素&#xff0c;需要将其中一个要素复制到另一个图层中&#xff0c;展示如下&#xff1a; 2、选中待复制要素&#xff0c;点击复制按钮&#xff0c;如下&#xff1a; 3、下拉粘贴按钮列表&#xff0c;选择【选…

利用oracle默认事务隔离级别(提交读)提升多表联查速度

利用oracle默认事务隔离级别(提交读)提升查询速度) 背景介绍&#xff1a; 数据量大查询缓慢&#xff0c;添加太多条件&#xff0c;使用IN走了全表查询导致查询速度缓慢。 解决方案&#xff1a; 版本一&#xff1a; 新建临时表&#xff0c;在查询是将数据插入到临时表中&#…

Python 根据点云索引提取点云

点云索引滤波 一、介绍1.1 概念1.2 参数设置二、代码示例三、结果示例一、介绍 1.1 概念 点云索引滤波 是一种常用的点云滤波方法,根据给定的索引列表获取点云中的索引点,或着根据给定的索引列表获取点云中的非索引点。 1.2 参数设置 核心函数: def select_by_index(self, …

Ubuntu22.04虚拟机设置静态IP

虚拟机设置静态IP 按下电脑的 “win”键&#xff0c;在弹出的输入框中输入“控制面板”&#xff0c;选中控制面板 1.选择 “网络和Internet” 2.选择 “网络和共享中心” 3.选择 “更改适配器设置” 4.选择 “VMnet8”&#xff0c;双击打开 5.选择 “属性” 找到 “Internet …

【idea】idea2024最新版本下载_安装_破解

1、下载 下载地址&#xff1a;下载 IntelliJ IDEA – 领先的 Java 和 Kotlin IDE 下载完成&#xff1a; idea破解脚本下载链接&#xff1a;https://pan.baidu.com/s/1L5qq26cRABw8XuEn_CngKQ 提取码&#xff1a;6666 下载完成&#xff1a; 2、安装 1、双击idea的安装包&…

《计算机网络微课堂》1-6 计算机体系结构

常见的计算机网络体系结构 从本节课开始&#xff0c;我们要用 4 次课的时间来介绍有关计算机网络体系结构的知识&#xff0c;具体包含以下内容&#xff1a; 一&#xff0c;常见的计算机网络体系结构二&#xff0c;计算机网络体系结构分层的必要性三&#xff0c;计算机网络体系…

给我瞅瞅呀

专业 流程&#xff08;一条龙服务&#xff09; 需求沟通-需求分析-产品架构-ue原型-ui设计-产品研发-产品测试-产品交付-产品运维 保障 1、按需定制&#xff0c;签订功能清单&#xff0c;根据功能报价 2、价格透明&#xff0c;签订合同保障&#xff0c;保障客户合法权益 3、源…

python(4) : pip安装使用国内源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

低代码应用:云原生与Kubernetes的应用实战

随着云原生技术的发展&#xff0c;低代码开发平台&#xff08;Low-Code Development Platforms, LCDPs&#xff09;在企业级应用开发中扮演着越来越重要的角色。本文将探讨低代码平台如何与Kubernetes结合&#xff0c;实现高效、灵活且可扩展的企业级应用开发。 低代码平台概述…