错误题解害人不浅。
O(nblognlogbn)(看作 n、m 同阶,logn、loga 同阶)这个式子是怎么看出来 b 取 O(logn) 最优的啊?你算算 b=O(logn) 的话复杂度是不是 O(loglognnlog3n) 将近三个 log 了,肯定取 b=2 复杂度才是 O(nlog2n) 啊。
听说当时有些选手写这题的时候把 b 开的比较大是因为 b=2 空间开不下,把 b 开大一点时间换空间玄学卡过去了,不知道为什么会被误解成 b 取 O(logn)。但是现在这种卡空间也被卡掉了,只有 O(n) 空间才能过,那你为什么 b 还要开这么大呢。
至于空间,讨论区其实已经有人提到你把线段树换成平衡树空间就直接 O(n) 了,不需要什么在 log 分块上建线段树的操作。然而平衡树的常数有点离谱,你大概会被卡飞。