白子妹妹
KTT
在做
这意味着,在一些(神秘)题目里,我们对于一个位置增量是固定的数的倍数时很方便,类似做一些等差数列的时候(虽然大多数题目维护直线就够了)。
KTT 简介
KTT(Kinetic Tournament Tree)是由 EntropyIncreaser 在其论文《浅谈函数最值的动态维护》给出的用于解决区间加正数和区间最大子段和问题的数据结构。
论文在 2020 年集训队论文集里。
时间复杂度是 3 个
相关链接
By EntropyIncreaser 区间增量最大子段和的 polylog 做法: https://entropyincreaser.blog.uoj.ac/blog/5217
By Petit_Souris KTT 入门: https://www.luogu.com.cn/article/7zzxpepq
By Otomachi_Una_ KTT 学习笔记: https://www.luogu.com.cn/article/u0ouhel6
维护
我们维护
然后再想区间加,这个时候如果在父节点处直接对着最大的
那么,维护出一个数
然后在修改的时候直接令 pushdown
到子树再 pushup
上来重构当前子树,可以证明这样做是
复杂度要用势能分析证明,相关证明在 2020 年集训队论文中。
例题(先咕了,我自己没写几道)。