题目
一个长度为 n 的序列,一开始序列数的权值都是
支持两种操作,
0 L R ,查询区间 [L,R] 内的权值和
最终答案对 1e9+7 取模
题解
这是我偶然翻到学弟学妹们出的一道题,于是就做了做。
首先这道题肯定能用线段树做,随便打打标记。
但是这道题也可以用树状数组做,更快,但是思想应该比线段树复杂些,就当是锻炼一下了。
下面是树状数组做法。
便于理解,将题目中的 x 用
树状数组求区间 [L,R] 权值和的一般做法就是 Sum(R)−Sum(L−1) 。于是,首要任务就是找到正确的单点插入方法,使得可以利用树状数组求出 Sum(x)