竞赛知识点11【线段树】

文章目录

  • 一、概念
  • 二、基本操作
    • 2.1、建树
    • 2.2、区间询问操作
    • 2.3、单点修改
    • 2.4、区间修改

一、概念

  • 线段树是用一种树状结构来存储一个连续区间的信息的数据结构。

  • 它主要用于处理一段连续区间的插入,查找,统计,查询等操作。

  • 复杂度: 设区间长度是 n n n,所有操作的复杂度是 l o g n logn logn 级别。

二、基本操作

2.1、建树

线段树上每个结点对应的是序列的一段区间,根结点对应的是整个区间 [1,n]。若一个结点对应的区间为 [l,r],当 l = r 时,为叶子结点;当 l ≠ r 时,结点一定有左右儿子,令 mid = (l + r) / 2,左儿子对应的区间为 [l,mid],右儿子对应的区间为 [mid + 1,r]

void build(int l , int r , int k)
{
   
	if(l == r)
	{
   
		/*
		根据题意,给叶子结点赋值
		*/
		return; 
	}
	int mid = (l + r) >> 1;
	build(l , mid , k << 1);
	build(mid + 1 , r , k << 1 | 1);
	/*
	根据题意,在回溯的时候更新每个结点的值,例如求区间最大值、和、极值差
	*/ 
}
int main()
{
   
	build(1 , n , 1);
}

在这里插入图片描述
注意:
①:
线段树第一层有 1 个结点,第二层有 2 个结点,依次类推,线段树中的结点数是:
n + n / 2 + n / 4 + ... + 2 + 1 = 2 * n - 1

线段树的数组不能只开到 2 * n 的级别,要开到 4 * n 的级别。
(线段树存的是区间,二叉树存的是点,所以线段树会出现许多结点空着的情况,如下图,结点[3] 的左右儿子空缺)

在这里插入图片描述
②:
令线段树的高度(层数)为 h h h h h h 只有 O ( l o g n ) O(logn) O(

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

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

相关文章

java修仙基石篇->instanceof子父类检查

instanceof检查子父类&#xff08;或者是否能被强转&#xff09; 作用1&#xff1a;检查某对象是否是某类的子类 如&#xff1a;儿子类继承了父亲类。 检查儿子类对象是否属于父亲类 作用2&#xff1a;检查两个对象是否可以强转 语法&#xff1a; 子类对象 instanceof 父…

蚂蚁蚁盾发布实体产业「知识交互建模引擎」,最快10分钟定制AI风控模型

数字化起步晚、数据分散稀疏、专业壁垒高、行业知识依赖「老师傅」&#xff0c;是很多传统产业智能化发展面临的难题。2023年云栖大会上&#xff0c;蚂蚁集团安全科技品牌蚁盾发布“知识交互建模引擎”&#xff0c;将实体产业知识与AI模型有机结合&#xff0c;助力企业最快10分…

【23真题】Top3简单专业课似双非!

今天分享的是23年复旦大学957的信号与系统试题及解析。 本套试卷难度分析&#xff1a;这套卷子平均分为120左右&#xff0c;最高分145分。22年复旦大学957信号与系统&#xff0c;我也发布过&#xff0c;若有需要戳这里自取&#xff01;本套试题内容难度中等偏下&#xff0c;说…

主播直播美颜SDK:性能优化策略

当下&#xff0c;主播直播美颜SDK成为了越来越多主播的利器。这些SDK可以实时美化主播的外貌&#xff0c;提高视觉吸引力&#xff0c;但同时也需要处理大量的图像数据。因此&#xff0c;性能优化成为了不可或缺的一环。本文将探讨主播直播美颜SDK的性能优化策略&#xff0c;以确…

【详细教程】关于如何使用GitGitHub的基本操作汇总GitHub的密钥配置 ->(个人学习记录笔记)

文章目录 1. Git使用篇1.1 下载安装Git1.2 使用Git 2. GitHub使用篇2.1 如何git与GitHub建立联系呢&#xff1f;2.2 配置公钥 1. Git使用篇 1.1 下载安装Git 点击 官网链接 后&#xff0c;进入Git官网&#xff0c;下载安装包 然后根据系统类型进行下载&#xff0c;一般为wind…

如何修改MinIO Share时的URL

使用Helm方式在Kubernetes中部署MinIO后。选择分享文件&#xff0c;获得的分享连接域名为K8S内部Service连接地址&#xff0c;这样的地址不可以在集群外部使用。 修改MINIO_SERVER_URL 前置条件 &#xff08;Helm部署方式&#xff09;域名需要访问到Name为minio的K8S Service…

ReuseAndDiffuse笔记

https://arxiv.org/pdf/2309.03549.pdf https://mp.weixin.qq.com/s/pbSK4KOO2hqQU1-uwQzjBA 数据集&#xff1a; BLIP-2、MiniGPT4 等多模态大语言模型,对Moments-In-Time、Kinetics-700 和 VideoLT等数据集进行自动标注&#xff1b; Image-text datasets&#xff1a;平移缩…

《低代码指南》——维格云机器人常见报错怎么解决?

在使用维格机器人调用维格表的API过程中,可能会出现机器人执行结果未达到预期的情况,此时可能是机器人运行出现了问题;通过点击这个机器人右上角的“运行历史”可以查看运行记录,通过对运行记录的分析,可以推断出问题所在,然后进行修改。 而对于运行历史的分析,主要是针…

C语言——判断 101-200 之间有多少个素数,并输出所有素数

完整代码&#xff1a; // 判断 101-200 之间有多少个素数&#xff0c;并输出所有素数 #include<stdio.h>//判断一个数n是否为素数 int isPrimeNumber(int n){//1不是素数if (n1){return 0;}for (int i 2; i <(n/2); i){//当有n能被整除时&#xff0c;不是素数if ((n…

【ES专题】ElasticSearch 高级查询语法Query DSL实战

目录 前言阅读对象阅读导航前置知识数据准备笔记正文一、ES高级查询Query DSL1.1 基本介绍1.2 简单查询之——match-all&#xff08;匹配所有&#xff09;1.2.1 返回源数据_source1.2.2 返回指定条数size1.2.3 分页查询from&size1.2.4 指定字段排序sort 1.3 简单查询之——…

LTD249次升级 | 官微名片可编辑微信二维码 • 商城可图标展示商品分类 • 应用引擎改进导入功能、可批量导入图片文件

1、 官微名片支持编辑微信二维码、传真号等&#xff1b; 2、 新增商城分类列表功能页&#xff1b; 3、 应用引擎支持图片字段批量导入&#xff1b; 4、 官微中心功能优化&#xff1b; 5、 已知问题修复与优化&#xff1b; 01 官微名片(平台版) 1) 首页布局与样式优化 在本次…

树结构及其算法-二叉树遍历

目录 树结构及其算法-二叉树遍历 一、中序遍历 二、后序遍历 三、前序遍历 C代码 树结构及其算法-二叉树遍历 我们知道线性数组或链表都只能单向从头至尾遍历或反向遍历。所谓二叉树的遍历&#xff08;Binary Tree Traversal&#xff09;&#xff0c;简单的说法就是访问树…

轧钢厂安全生产方案:AI视频识别安全风险智能监管平台的设计

一、背景与需求 轧钢厂一般都使用打包机对线材进行打包作业&#xff0c;由于生产需要&#xff0c;人员需频繁进入打包机内作业&#xff0c;如&#xff1a;加护垫、整包、打包机检修、调试等作业。在轧钢厂生产过程中&#xff0c;每个班次生产线材超过300件&#xff0c;人员在一…

看完这个,别说你还找不到免费好用的配音软件

有很多小伙伴还在找配音工具&#xff0c;今天就给大家一次性分享四款免费好用的配音工具&#xff0c;每一个都经过测试&#xff0c;并且是我们自己也在用的免费配音工具 第一款&#xff0c;悦音配音工具 拥有强悍的AI智能配音技术&#xff0c;更专业&#xff0c;完美贴近真人配…

soul协议算法

逆向工程技术是指对软件或应用程序进行逆向分析以了解其内部机制和功能的过程。虽然我无法详细介绍"Soul App"的逆向工程技术&#xff0c;但以下是一些常见的逆向工程技术&#xff0c;可能与你的研究相关&#xff1a; 1. 反汇编&#xff08;Disassembly&#xff09;…

获取Webshell方法

CMS系统指的是内容管理系统。已经有别人开发好了整个网站的前后端&#xff0c;使用者只需要部署cms&#xff0c;然后通过后台添加数据&#xff0c;修改图片等工作&#xff0c;就能搭建好一个的WEB系统。 CMS获取Webshell方法 WordPress后台拿Webshell phpcms拿Webshell 非CMS…

视觉霸主SAM和文图霸主CLIP强强联合!苹果联合UIUC,发布统一视觉模型SAM-CLIP,或掀起多模态新浪潮

作者 | ZenMoore 相信大家对 SAM[1] 并不陌生&#xff0c;它是 Meta 此前发布的 Segment Anything Model (分割一切模型)。一经发布便火遍全网震惊世界&#xff0c;史称“视觉领域的 ChatGPT 时刻”。 大模型研究测试传送门 GPT-4传送门&#xff08;免墙&#xff0c;可直接测…

springboot的spring.jackson.date-format失效解决

看起来数据库的格式非常完美,但是数据库字段look_date 是 datetime类型,java里没有datetime类型,这样一来如果你不在后端做处理,那么模型属性Date来接收一定会出问题.我通过实验证明最后拿到的是一个时间戳. 第一 解决时间格式问题 1.可以通过application.propertis配置文件中…

Element UI的table不同应用

目录 一、自定义表头 二、纵向表头(动态表头) 2.1、分别拿到表头和表头中日期对应的行数据 2.2、拿到每个日期对应的列数据 一、自定义表头 <el-table-column prop"chu" align"center"><!-- 自定义表头 --><template slot"header…

Java 实现灰度图转真彩图

目录 1 问题2 实现1 问题 Java 实现灰度图转真彩图 将以上的图片,jpg png 都可以,转为有颜色的 2 实现 import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.awt.image.Raster; import java.io.File;public class DatUtil…