ZKW线段树

· · 个人记录

ZKW线段树

背景介绍

由张昆玮在“统计的力量”中提出。

算法介绍

特点

非递归式线段树,特点是操作自下而上,通过循环完成操作。节点的对应关系严格规定。

优点

==速度远快于普通线段树,略次于树状数组==。空间复杂度在 n*2 左右。而且完整保留了原数组。

缺点

区间修改难以pushdown,使用标记永久化,==无法维护标记有顺序要求的情况==。

示例

区间加减的标记就是没有顺序要求的典型,在第 i 次操作时,前 i-1 次操作的顺序不影响此次查询的结果。同理还有区间乘。但加和乘同时出现时就不适用了。 我们以区间和为例,实现单点修改查询和区间修改查询。