RubyLouvre / algorithmbook

没有经过整理的知识才是徒然浪费时间,伤透脑筋!
109 stars 67 forks source link

Ch7 区间操作 #33

Open SamZhangQingChuan opened 4 years ago

SamZhangQingChuan commented 4 years ago

写的太复杂了,只需要分三种情况

    void update(int l, int r, int ind, int val) {
        if(l > no[ind].r || r < no[ind].l)return; //不相交
        if(l <= no[ind].l && no[ind].r <= r) { //完全包含
        } else {//其余情况
            update(l, r, lson, val);
            update(l, r, rson, val);
        }
    }