线段树查询

题目表述:

给出N个数,初始值全为0,有以下三种操作:

1.将第x个数增加y.

2.将第x个数变成y.

3.求第x个数到第y个数的和。

input:

第一行一个整数N(1<=N<=100000)N,代表数的个数。

第二行一个整数Q(1<=Q<=100000),代表询问的个数。

接下来Q行,每行第一个整数op.

如果op=1,输入x,y,表示将第x个数增加y(1<=x<=N,1<=y<=10000),

如果op=2,输入x,y,表示将第x个数变成y(1<=x<=N,1<=y<=10000),

如果op=3,输入x,y,表示求第x个数到第y个数的和(1<=x<=y<=N)。

output:

 

对于每次3号操作,一行输出答案。

Sample input:

3
5 1 1 1 3 1 3 1 2 4 2 1 2 3 1 2

 

Sample output:

1

6

线段树查询

 

posted @ 2018-07-29 18:43  明楼  阅读(107)  评论(0)    收藏  举报