zkw线段树具体内容请百度统计的力量(这是他讲的时候所用的ppt的名字)
今天我们就来完整的写一个zkw线段树。
正如他在ppt里讲的
*
差分是化绝对为相对的重要手段
*
标记永久化后就是值,只不过
这种
值是相对的
*
计算答案时可以利用从节点到根部的信息
在zkw树中,每个节点存的都不是最大值M[x], 而是M[x] - M[x<<1](这里M[x<<1]就是他父亲存在最大值)。这样有什么用呢?你可以试一下从某个结点开始,走到根,你会发现一路上的和加起来,就是这里存在最大值。这样,单点Query就解决了。单点更新也比较简单,就是一点一点从叶子结点处开始修改,维护这棵树作为差分树的性质。只这样看的话,并不比普通的线段树有多大优势。
所以接下来我们看区间更新和区间查询。