LOADING

加载过慢请开启缓存 浏览器默认开启

线段树进阶运用 Part1

动态开点

我们在写线段树的时候,对于左右儿子常常是这样写的:

  • 建树部分
void build(int id,int l,int r){
    tree[id].l=l;
    tree[id].r=r;
    if(l==r) return;
    int mid=(l+r)>>1;
    build(id*2,l,mid);
    build(id*2+1,mid+1,r);
    pushup(id);
}