[关闭]
@Acqua 2018-12-25T09:29:37.000000Z 字数 931 阅读 1036

关于线段树左右区间长度的论证

算法

现象

  1. int m = t[u]. r - t[u]. l + 1;
  2. t[u << 1]. s = t[u]. lazy * (m - (m >> 1));
  3. t[u << 1 | 1]. s = t[u]. lazy * (m >> 1);

证明

设区间左端点为,右端点为,中点为

  1. 当区间长为奇数,即时,有
    必然存在使

    左区间长
    右区间长
    区间长


  2. 当区间长为偶数,即时,有
    必然存在使

    左区间长
    右区间长
    区间长


添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注