社区讨论

数据好像有点弱

P6136【模板】普通平衡树(数据加强版)参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@lq53nn9y
此快照首次捕获于
2023/12/14 19:10
2 年前
此快照最后确认于
2023/12/14 21:44
2 年前
查看原帖
在别的题里边粘了一个这个题里边写的Splay板子,Wa掉了
……找了半天是删掉节点时忘了pushUp(f(r))一下,这样在删除节点时,f(r)的sz是错的
CPP
inline void del(int v){
    int pre = findBound(v, 0), suf = findBound(v, 1);
    if(pre) splay(pre, 0);
    if(suf) splay(suf, pre);
    if(!suf && !pre){
        cnt[root] --;
        if(!cnt[root]) root = 0;
        return ;
    }
    int x = suf? ls(suf):rs(pre);
    cnt[x] --;
    if(cnt[x]) splay(x, 0);
    else ch[f[x]][get(x)] = 0;
}

回复

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

正在加载回复...