Kinetic tournament tree 简称 KTT 下文中全部简写。
KTT 用于解决类以下问题:
- 已知 N N N 条一次函数,求解一段区间内函数最大值。
- 支持修改操作可以修改 x i x_i xi 或者 b i b_i bi 的值。
具体做法:
我们考虑线段树来维护一个类似 Δ \Delta Δ 的东西,我们令当前线段树区间 u u u 中函数值最大的线段是 y = k x + b y=kx+b y=kx+b 的,线段树还维护一个 t h r u thr_u thru 表示当前线段树节点下,如果讲 x i x_i xi 加超过 Δ \Delta Δ 这个最大值就会改变。
所以我们实际就是维护 t h r u thr_u th<