众所周知,我们线段树上每进行一次递归便会进行一次push_down的下传,而在push_down的下传中需要进行四次矩阵乘法,其花销是非常大的。
因此我们便可以给出一下两个卡常方式
可以在延迟标记的矩阵中额外记录一个标记,代表这个延迟标记是否存在,如果不存在便不需要下传。
叶子节点并不存在其子节点,所以其上的延迟标记是没有必要的,所以在 pushdownpushdownpushdown 中额外判断一下其子节点是否是叶子节点再决定下传即可。
这只是蒟蒻个人建议,亲测有用>w<