第二类时间线段树
这是学长起的名,具体的学名不知道,实际上就是一个小 \(\text{trick}\) 。
考虑到我们在进行时间线段树的时候会进行的操作,将修改放到一个区间里,然后 \(\text{dfs}\) 整一棵树,在每一个叶子节点得到答案。
但是实际上在某些情况下我们不需要这么操作。这需要我们求的值满足结合律,即可以将一次查询拆分成若干次子查询。
具体的操作我们以单点修改矩形 \(\max\) 为例(当然这道题有高维在线数据结构的写法,但是我们不考虑)。我们可以将修改放到时间线段树上,然后如果按照原本的时间线段树想法,我们需要遍历一棵树,然后维护一个添加操作和撤回操作的数据结构,这是在线的。但是我们可以考虑将询问放到其对应的节点上,实际上一个询问的答案就是这个询问在每一个节点上的答案取 \(\max\) 。于是每一个节点的询问和数字都被我们确定下来了,此时可以用一些离线算法解决问题。

浙公网安备 33010602011771号