Basic Binary Indexed Tree
题目描述
给定一个整数序列\(\{a_i\}, i=1,2 \cdots N\),以及\(K\)次操作,每次操作为以下两类之一:
Q
\(\ l \ r\):求区间和\(\displaystyle\sum_{i=l}^{r} a_i\),输入保证\(1 \le l \le r \le N\);
C
\(\ p \ x\):将\(a_p\)赋值为\(x\),输入保证\(1 \le p \le N\)。
按顺序执行每次操作,并输出每次Q
询问的结果。
输入格式
第一行是两个正整数\(N,K\);
第二行是\(N\)个整数\(a_1, a_2 \cdots a_N\);
之后\(K\)行,每行包含一个字符和两个整数,描述该次操作,详情见“题目描述”和“样例输入”部分。
输出格式
对于每个Q
询问,输出一行表示该次询问的结果。
样例
输入
5 3
1 2 3 4 5
Q 2 4
C 3 -3
Q 1 4
输出
9
4
数据规模及约定
\(N \le 10^6, \quad Q \le 10^5, \quad -10^3 \le a_i, x \le 10^3\)
40%的数据不含修改操作。
时间限制1s,空间限制64MB。