• 2024-11-10标记永久化
    下面是OI-Wiki中对标记永久化的介绍:标记永久化:如果确定懒惰标记不会在中途被加到溢出(即超过了该类型数据所能表示的最大范围),那么就可以将标记永久化。标记永久化可以避免下传懒惰标记,只需在进行询问时把标记的影响加到答案当中,从而降低程序常数。具体如何处理与题目特性相关,需
  • 2024-08-11关于区间加区间查线段树的标记永久化
    单点加区间查的线段树,每个线段树区间的值代表所维护序列在这个区间的总和;区间加单点查的线段树,每个线段树区间的值代表对这个区间总体加了多少。区间加区间查的线段树可以通过综合两种思想实现标记的永久化。线段树将每一个修改或查询区间拆分为\(O(\logw)\)个线段树区间,只要
  • 2024-04-20标记永久化
    也就是没有push_down注意前面两个问题是具有启发性的,不要略去不看区间加,单点和每个节点\(u\)额外维护一个add值,表示\(u\)所代表的区间的总增加量此时只考虑该区间的增加情况,不用考虑它祖先或者儿子的增加情况这样做的代价是查询时把没考虑的祖先以及儿子的增加情况
  • 2024-02-26标记永久化【学习笔记】
    众所周知,线段树最重要的操作之一便是标记下传。但在一些情况下,我们不能进行标记的下传(可能是正确性的问题、或者是复杂度的问题)正确性问题:比如带修的可持久化线段树中,如果标记下传,会影响之前的版本。复杂度问题:比如树套树中,push_up操作的复杂度会直接炸掉。因此,就产生了标记永
  • 2024-02-09【Trick】标记永久化
    1.理论线段树使用来维护区间信息的数据结构。回想一下,是否还记得线段树的pushdown操作。在区间修改区间查询中,由于区间修改时信息不一定能传达到位,需要使用lazytag将修改信息打在非叶子节点上(其实可以不用,但时间复杂度错误)。这样一来,当查询的区间在其子区间时,可以把打在当
  • 2023-09-21标记永久化学习笔记
    标记永久化是线段树的另一种写法,顾名思义,就是让懒标记永久作用于结点上不下传。回顾一下下传标记的写法。对于一个结点,懒标记作用于其管辖的范围。换句话说,其所有子孙结点都会被懒标记作用恰好一次。在进入下一层时,我们先将懒标记作用于其儿子,然后再将懒标记和其儿子的懒标记合并
  • 2023-08-25可持久化线段树标记永久化?可刺激化修道士表舅已经黑!
    关于可刺激化修道士表舅已经黑。因为傻逼lxd告诉我我的表舅已经黑写法是错误的,所以稀里糊涂的让他改成了他的那种写法。但是我的也是对的。比如区间加和区间查和,维护一个\(tag\),表示表舅的值。然后在区间加的时候,经过的区间的\(sum\)的值可以直接加,但是只有在if(x<=l&
  • 2023-08-16标记永久化
    标记永久化:要求修改必须顺序无关满足区间贡献独立多标记好像也不适用如果对于指定区间的修改可以在与当前区间仅仅是相交而不是包含的情况下可以直接完成,就不需要pushup