建树

 

 

结构体

struct trees{
    trees *lson,*rson;
    LL v;
}dz[1000010],*root=&dz[0];

 

建树

void build(trees *tree, int l, int r){
    if(l==r){
        tree->v=a[l];
        return ;
    }
    int mid=(l+r)>>1;
    tree->lson=&dz[now++];
    tree->rson=&dz[now++];
    build(tree->lson,l,mid);
    build(tree->rson,mid+1,r);
    tree->v = tree->lson->v + tree->rson->v;
} 

 

posted @ 2019-03-30 13:33  喜欢挨打的狗狗花  阅读(217)  评论(0编辑  收藏  举报