我们有一个问题,关于如何在小于 O(n) 的渐近线中快速计算静态数组 a 中区间 l...r 的和。
我们把数组a分成k个大小相同的块,先计算每个块的元素之和。
现在,在响应请求时,我们可以遍历数组 a 的元素并将它们添加到结果中,如果其中一个块位于段内,那么我们可以将其总和添加到结果中并跳过此块的元素。
该算法每次查询的最大操作数为n / k + k,因此最优k等于n的平方根。
 

我们有一个问题,关于如何快速计算数组 a 中的段 l...r 的总和,其中的元素一次可以改变一个,渐近小于 O(n)。
这个任务的解决方式与上一个任务类似,但是在请求更改时,需要更改相应块中的金额。

给出了一个任务,需要对一个段进行批量操作,并通过索引识别一个元素。
批量操作在一个段上作为求和计算进行。
对于每个块,我们将更改存储在该块中,并且在从该块请求元素时,我们会考虑该信息。