社区讨论

哪位巨佬能解释一下线段树里面这些变脸的意思嘛

学术版参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo7win0a
此快照首次捕获于
2023/10/27 08:55
2 年前
此快照最后确认于
2023/10/27 08:55
2 年前
查看原帖
看了板子题解看不懂
没注释看不懂qwq
CPP
ll query(ll q_x,ll q_y,ll l,ll r,ll p)
{
    ll res=0;
    if(q_x<=l&&r<=q_y)return ans[p];
    ll mid=(l+r)>>1;
    push_down(p,l,r);
    if(q_x<=mid)res+=query(q_x,q_y,l,mid,ls(p));
    if(q_y>mid) res+=query(q_x,q_y,mid+1,r,rs(p));
    return res;
}
还有
CPP
inline void update(ll nl,ll nr,ll l,ll r,ll p,ll k)
{
    
    if(nl<=l&&r<=nr)
    {
        ans[p]+=k*(r-l+1);
        tag[p]+=k;
        return ;
    }
    push_down(p,l,r);
    ll mid=(l+r)>>1;
    if(nl<=mid)update(nl,nr,l,mid,ls(p),k);
    if(nr>mid) update(nl,nr,mid+1,r,rs(p),k);
    push_up(p); 
}
可以注释一下每行是在干什么嘛
求求了,就当最做初赛题趴orz

回复

1 条回复,欢迎继续交流。

正在加载回复...