令块长为 BBB,通过操作分块可以得到一个 O(Bnlogn+q2Blogn)\mathcal O(Bn\log n+\frac{q^2}{B}\log n)O(Bnlogn+Bq2logn) 的做法。两只 log\loglog 分别来自重构的基于 BIT 和块内修改的贡献需要倍增求 kkk 级祖先。和这篇题解的第一个做法是一样的。
这个做法确实非常卡,我卡了一个多小时。下面是一些警示后人的方法: