话说这是AtCoder的算法合集练习 怎么都没人搬
题意就是裸的树状数组
只不过求区间和的时候是求l~r-1,并且下标是从0开始的
但是不知道为什么样例能过,交上去就wa了
亏我还对着自己打的模板抄
//AtCoder #2
#include<bits/stdc++.h>
using namespace std;
int n, q, a, b, t;
struct TREE
{
int Tree[500005];
int lowbit(int k)
{
return k & -k;
}
void add(int x, int k)
{
for (; x <= n; x += lowbit(x))
Tree[x] += k;
}
int sum(int x)
{
int ans = 0;
for (; x; x -= lowbit(x))
ans += Tree[x];
return ans;
}
}tree;
int main()
{
cin >> n >> q;
for (int i = 1; i <= n; i++)
{
cin >> t;
tree.add(i, t);
}
for (int i = 1; i <= q; i++)
{
cin >> t >> a >> b;
if (!t)
tree.add(a + 1, b);
else
cout << tree.sum(b) - tree.sum(a) << endl;
}
}