因为 ⌈ 区间排序,单点查询 ⌋ 这道题在各大 OJ 上似乎并没有,然而很经典,所以本蒟蒻就来问一些问题了(
每次区间排序的时候,直接将多个线段树合并到一起;当然还要在端点处做线段树分裂。正确性显然。
但是我个人觉得它没有时间复杂度上的正确性。比如,我先对 [3,5] 排序,又 [1,5] 排序,又对 [3,5] 排序,然后又对 [1,5] 排序 ⋯⋯ 第一次把 [3,5] 从区间中分裂出来了,然后又将 [1,2] 和 [3,5] 对应的线段树合并到一起了,然后又分裂了出去 ⋯⋯ 扩展到一般情况,有可能每隔一次询问就要以极高的代价(大概 O(n) 的复杂度)进行一次区间排序 ⋯⋯
别说先对 [1,5] 排序,又对 [3,5] 排序可以剪枝;你剪枝掉了这个情况,剪枝不掉一般情况。
所以怎么办啊?时间复杂度似乎不太对啊?我好菜啊 /kk