ARC187D 小记录
经过一定转化后,只需要支持:
- 区间覆盖;
- 单点查;
- 区间第一个 \(\le k\) 的位置;
- 全局查 \(\min\limits_{1\le i\le10^9}(dp_i-i)\)。
先离散化。其实操作四是可以线段树直接维护的。。直接维护就行。操作三线段树上二分。其他只需要简单 pushup 与 pushdown,操作四就是全局查。是 \(O(n\log n)\) 的。(这个不是最直接的思路吗,为啥没人写啊???)
其实不算难写,但是 2.7k,很不爽。
注意到每次必定是先区间覆盖再执行 \(O(1)\) 次其他操作,所以上 ODT 的复杂度也是对的,\(O(n\log n)\)。好写。