最初给您一个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 )。将此元素添加到数组的开头。此操作后,xwill now 变为a1,old a1will now 变为a2,依此类推。数组的大小将增加1.
我用初始给定数组制作了段树,并且可以计算范围总和......但是我如何在段树中添加一个元素并相应地修改它?