最初给您一个N
整数数组( 1<=N<=105 )
。给定这个数组,你必须执行 2 种操作:
(i) Operation 1 : Op1( l, r )
给你 2 个整数l
和r
. ( 1 <= l <= r <= current size of the array )
. 您需要返回索引介于l
和r
(包括两者)之间的所有元素的总和。即如果当前数组中的元素是a1,a2,a3....an,则需要返回如下sum : al + al+1 + al+2 ... + ar
。
(ii) Operation 2 : Op2( x )
给你一个整数 x ( |x| <= 109 )
。将此元素添加到数组的开头。此操作后,x
will now 变为a1
,old a1
will now 变为a2
,依此类推。数组的大小将增加1
.
我用初始给定数组制作了段树,并且可以计算范围总和......但是我如何在段树中添加一个元素并相应地修改它?