一种序列 O(k) 单点加,O(k n ^ {1 / k}) 查询区间和的方法(O(n) 空间?)
就是把 \([0, n]\) 中的数用某个 \(B\) 进制表示,\(B\) 满足 \(n < B^3\),然后记录 \(sum_{1\sim k, i}\) 表示(应该是)B 进制下下标以 \(i\) 为开头的数的和。
反正当 \(k = 2\) 时就是经典的根号平衡操作——\(\mathcal O(1)\) 单点加,\(\mathcal O(\sqrt n)\) 区间查询(查询前缀后差分)。
就是把 \([0, n]\) 中的数用某个 \(B\) 进制表示,\(B\) 满足 \(n < B^3\),然后记录 \(sum_{1\sim k, i}\) 表示(应该是)B 进制下下标以 \(i\) 为开头的数的和。
反正当 \(k = 2\) 时就是经典的根号平衡操作——\(\mathcal O(1)\) 单点加,\(\mathcal O(\sqrt n)\) 区间查询(查询前缀后差分)。
