这道题应该说是线段树和树状数组简单的应用吧!都是用到了基本的功能更新区间查找点!
当使用线段树时,不想原来更新点查找区间那么简单,这里需要在结构体内另外添加一个lnc用来记录更新区间时正好覆盖到该区域时的改变值!然而在查找区间过程中当所查找的区间并不是给定的区间时,需要把给定的区间的sum值进行更新改变!并且也把该子区间的调用update进行更新,这样才能维护一个更新区间查找区间的线段树!
用树状数组时需要注意此时read(i)就是读取下表为i的值为read(i)!
注意数组尽量开大点!避免出现wa或是re!
下面是ac代码给大家参考:
线段树做法:
树状数组做法:
哈哈保持激情加油了!