资 源 简 介
主要就是要注意同时维护加法和乘法的lazytag时,加法和乘法的顺序会影响结果,如:
x*2+3 != (x+3)*2
因此 维护其中一个tag时 要同时改变另一个tag 以免去顺序的影响。
因此有两种选择 先维护乘法 和 先维护加法
假设 x节点此时乘法tag是2 加法tag是3,之后获得了乘法tag4 以及加法tag5
先维护乘法:
x=(x*2)+3
获得后:乘法tag*4 加法tag*4+5 x=(x*8)+3*4+5
先维护加法:
x=(x+1.5)*2
显然涉及小数 有精度问题 不继续了
在确定先维护乘法后 就可以开始线段树了...