标记永久化学习笔记

发布时间 2023-09-21 22:53:09作者: 御坂夏铃

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

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

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

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