首页 > 其他分享 >线段树

线段树

时间:2022-10-21 00:22:07浏览次数:47  
标签:2p 线段 节点 数据结构 建树 size

线段树是一种数据结构,大概长成这个样子:

而线段树的每个节点都包含了它的范围以及它里面的数字,每个节点最多有2个子节点,而节点还包含一个附加信息(例如最大值,求和),而现在我们要求和。

建树

问:为什么要建树?答:不建树就没法使用这个数据结构。评:废话。

现在我们的节点有三个值,两个表示其包含的范围,一个是我们的和。按照常理来说,我们需要一个结构体,然而作者不想,所以就不用了。

int seg[size],beg[size],end[size];

因为我们的树只有2个子节点,所以使用堆的表示方式(一个节点如果其编号为\(p\)的话它的左子节点为\(2p\),右子节点为\(2p+1\))

标签:2p,线段,节点,数据结构,建树,size
From: https://www.cnblogs.com/littlelu/p/16812083.html

相关文章

  • P6492 STEP(线段树维护左右区间pushup)
    题目链接题目描述:给定一个长度为\(~\)n\(~\)的字符序列\(~\)a,初始时序列中全部都是字符\(~\)L。有\(~\)q\(~\)次修改,每次给定一个\(~\)x,做出如下变化:\(~~\)1.a\(_......
  • 线段树 & 题目
    首先说下我写的线段树吧。我是按照线段树【完全版】那个人的写法来写的,因为网上大多数题解都是按照他的写法来写。确实比较飘逸,所以就借用了。节点大小是maxn是4倍,准确来说......
  • 【luogu CF1140F】Extending Set of Points(线段树分治)
    ExtendingSetofPoints题目链接:luoguCF1140F题目大意有一个点集,有一个扩展操作是加入符合条件的(x0,y0)直到不能加入位置。符合条件是原来(x0,y0)不存在而且存......
  • 算法 - 线段树学习笔记
    前言:此文章为线段树基础知识可供学习参考咳咳,进入正题:我们在做题的时候可能会遇到给定一个数组同时给出一个值进行修改或是区间性的操作这里以单点修改和区间查询......
  • NYOJ1016(德莱联盟)(判断线段相交)
    德莱联盟1000ms | 内存限制:65535难度:1欢迎来到德莱联盟。。。。德莱文。。。德莱文在逃跑,卡兹克在追。。。。我们知道德莱文的起点和终点坐标,我们也知道......
  • 【CF1401F】 Reverse and Swap(层标记线段树)
    原题链接题意给定一个长度为\(2^n\)的数组\(a\),现在需要处理\(q\)个询问,每个询问是以下\(4\)种类型之一:\(Replace(x,k)\)把\(a_x\)修改为\(k\)。\(Rev......
  • 做题记录整理数据结构/线段树 P1712 [NOI2016] 区间(2022/10/17)
    P1712[NOI2016]区间由于现在做题比较杂,所以就不标号码了感觉应该算是思维题?刚开始没想到完全用线段树后来看了题解如果想到线段树的话这题剩下的东西就可以很自然的......
  • 【DS】线段树分治学习笔记
    \(\circ\)给你一堆操作,每个操作都有自己的影响时间,查询某一时间点的状态。线段树分治:按时间轴*修改保存到\(\log\)个区间里,将询问离线查询,时刻\(t\)的询问就是线段......
  • P6242 【模板】线段树 3
    题目链接P6242【模板】线段树3【模板】线段树3题目背景本题是线段树维护区间最值操作与区间历史最值的模板。题目描述给出一个长度为\(n\)的数列\(A\),同时定义......
  • 浅谈线段树
    浅谈线段树Segment_TreeByxiaruize引言OI中,有一种好玩的游戏,叫做码线段树,那么线段树是什么???线段树的目的线段树主要用于在区间上动态维护一些值(如最大值,最小......