首页 > 其他分享 >标记永久化学习笔记

标记永久化学习笔记

时间:2023-09-21 22:55:57浏览次数:42  
标签:结点 标记 线段 笔记 查询 永久化 区间

标记永久化是线段树的另一种写法,顾名思义,就是让懒标记永久作用于结点上不下传。

回顾一下下传标记的写法。对于一个结点,懒标记作用于其管辖的范围。换句话说,其所有子孙结点都会被懒标记作用恰好一次。在进入下一层时,我们先将懒标记作用于其儿子,然后再将懒标记和其儿子的懒标记合并。所以普通线段树需要满足结合律

既然懒标记是在进入下一层的时候才传的,那么之前肯定已经经过了所有能影响当前结点儿子的结点,即其所有祖先。所以我们不妨在查询的时候事先统计出当前懒标记对查询区间的影响。这就要求操作满足交换律,因为这样无法得知操作的先后顺序

实现的时候有一个细节,我们必须保证修改或查询的区间被当前结点所管辖的区间包含,这样我们才能方便地统计贡献,否则还要取 \(\min\) 取 \(\max\),稍显麻烦。

标签:结点,标记,线段,笔记,查询,永久化,区间
From: https://www.cnblogs.com/landsol/p/17721189.html

相关文章

  • [算法学习笔记] 浅谈二路归并&双指针&归并排序
    二路归并·双指针是一种优化思想。它可以在\(O(n)\)的复杂度下把两个长度为\(n\)的有序数组合并为一个有序数组。它的具体处理方法如下:定义两个长度为\(n\)的升序数组\(a,b\)。,合并完后长度为\(2n\)的数组\(c\),初始化两个指针\(x=y=1\)(这里数组下标从\(1\)开始)......
  • 系统分析师学习笔记(17) PV操作
    1.PV操作是与活动的前驱与后继相关的。P操作-前驱活动,-1;V操作-后继活动,+1;2.做题时,一个活动,首先要将所有前驱活动的信号量进行P操作;在完成自己的操作后,需要对后继的所有活动进行V操作;3.做题时,不好判断信号量与活动的线是如何关联的,此时需要耐心的结合题意和填空的选项进行判断。......
  • 刷题笔记(2023.9.21)
    求和由题意很容易得\(x\),\(z\)的奇偶性是相同的,但是由于\(n\)的范围是\(\le100000\)的,所以直接枚举\(x\),\(z\)的时间复杂度是\(O(n^2)\),显然会\(TLE\)。所以可以先对输入的颜色进行分组,然后再在每一种颜色中按奇偶性分组。我们假设一个分组里有\(k\)个数,那......
  • VAE 学习笔记
    VAE是AE的变体。主要目的是让模型学习数据的分布,最后让解码器(decoder)部分具有生成样本的能力。VAE可看做高斯混合模型(GMM)的扩展。GMM中,数据由多个高斯分布来描述:\[p(x)=\sum_{k=1}^{K}P(z_{k})P(x|z_{k})\]其中$z\simP(z^{k})$,\(x|z^{k}\simN(\mu^{k},\sigm......
  • openGauss学习笔记-76 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT简介
    openGauss学习笔记-76openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT简介本节介绍了openGauss内存优化表(Memory-OptimizedTable,MOT)的简介。76MOT简介openGauss引入了MOT存储引擎,它是一种事务性行存储,针对多核和大内存服务器进行了优化。MOT是openGauss数据库最先进......
  • 「学习笔记」树链剖分
    树链剖分用于将树分割成若干条链的形式,以维护树上路径的信息。具体来说,将整棵树剖分为若干条链,使它组合成线性结构,然后用其他的数据结构维护信息。树链剖分有很多种形式,本文要讲的是其中的轻重链剖分。树链剖分本质上就是把链从树上砍下来,然后放到树状数组或线段树上来维护。......
  • Qt开发学习笔记
    很久以前写的笔记,综合了很多内容,主要是来源于传智教育的Qt教学视频。时间久远,排版可能有点问题。Qt相关内容解释.pro文件解释QT+=coregui#Qt包含的模块greaterThan(QT_MAJOR_VERSION,4):QT+=widgets#大于4版本以上包含widget模块CONFIG+=c++11DEF......
  • 学习笔记418—删掉对称矩阵中的NaN,对角线为1【已解决!】
    问题:删掉对称矩阵中的NaN,对角线为1如下图矩阵A所示:解决办法:B=A+diag(NaN+zeros(1,length(A))); %将对角线改为NaNB(all(isnan(B),2),:)=[];%删除所有行为NaNB(:,all(isnan(B),1))=[];%删除所有列为NaNB(find(isnan(B)))=1;%再将对角线值改为1结果新矩......
  • 【学习笔记】(28) 基环树
    首先,严格地讲,基环树不是树,它是一张有\(n\)个节点、\(n\)条边的图。介绍无向图上的基环树有向图上的基环树内向树出度为1外向树入度为1流程找到唯一的环;对环之外的部分按照若干棵树处理;考虑与环一起计算。找环从任意一点开始搜索;每次拓展到的点涂为灰色,回......
  • Linux文件管理笔记
     一、文件目录和路径在Linux系统中,文件和目录被组织成一个树状的结构,称为文件目录结构。根目录是整个文件目录结构的最顶层,表示为“/”。所有其他目录和文件都是从根目录开始的。文件路径是指从根目录到目标目录或文件的路径。路径可以是绝对路径或相对路径。-绝对路径:从根目录......