At站外题求助
  • 板块题目总版
  • 楼主Shiroko
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/10/16 22:39
  • 上次更新2023/11/5 10:37:17
查看原帖
At站外题求助
252015
Shiroko楼主2020/10/16 22:39

话说这是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;
	}
}
2020/10/16 22:39
加载中...