矩阵做标记时的常数优化技巧
线段树维护历史和时,标记有时难以推出,这时候为了节省时间,一般会将标记写成矩阵的形式.这样虽然省下了推标记的时间,但是矩阵的大小动辄 往上,带来的常数影响是巨大的.
如何卡这个常数?可以发现,由于维护的信息量不大,矩阵中的很多值实际上是没用的,我们可以将有用的值单独拿出来维护.
具体地,我们可以随机出一些修改矩阵乘到单位矩阵上,多次进行这样的过程,并对结果累加,累加出来的矩阵中有值的元素大概率就是我们需要的维护的元素.如果累加后矩阵中的某个元素的值等于累加次数,那么这个位置的值大概率恒为 ,不需要维护它.由经验来看,多进行几次这样的操作,每次乘少量的矩阵,效果比较好.