建议学习网站:线段树 - OI Wiki
我也是最近在学线段树,然后学到懒标记的时候发现这个设计怎么这么奇怪呢 :
为什么说访问到有懒标记的时候再修改,可是修改的是子节点呢?
修改自己不就够了吗?虽然只是多一步,并没有太多消耗。
这个时候我就想起来越界了
如果到了再修改,再给子节点挂懒标记的话,叶子节点也要给自己的孩子挂。
其实想到这,做个特判就好了。OIWiki本身就是给特判了:
都是一样的。。。
getsum是不会处理叶子的懒标记的(不是范围内的叶子不会访问,是范围内的第一句加了就结束了)
所以只需动update。
如果到了再改的话,设置的特判反而繁杂,比如:getsum到了再加懒标记,这时候还要给子节点加,所以需要设置特判(是叶子就不给子节点加了)