KTT 学习笔记
在做 4118 弱化版的时候发现了这样的小清新线段树,学习了一个下午后终于看懂了,发誓要写一篇小白也看得懂的学习笔记。
考虑这样的一个问题:
你需要维护
询问给定一个单调增的
问你区间内函数对于
观察一些性质:
- 一次函数之间的交点只有一个(暂时不考虑重合)
- 每个一次函数对于一个区间,能够取到最值的
x 一定是一个区间。
第二个有点拗口,但是看这样一张图,你会发现 每一个一次函数都只有一段在最上面。
而且段数显然是
我们考虑用线段树维护当前区间的 最值线段 以及 下一次发生变动的
前者是好维护的,后者直接对左右儿子取
EI 已经证明了复杂度是