其他分享
首页 > 其他分享> > 珂朵莉树

珂朵莉树

作者:互联网

怎么说呢?这个东西不能说是一颗树

本质上就是一个set,维护区间值用的

好像也就只有两个操作,一个拆分,一个合并。

暴力找,暴力拆,暴力合并,暴力删除,暴力插入

struct kdl{
    int l,r,t;kdl(){}
    kdl(int x,int y,int z){l=x;r=y;t=z;}
    bool operator < (kdl x)const{return l<x.l;}
};
set<kdl> st;
set<kdl>::iterator spilt(int x){
    set<kdl>::iterator it=st.lower_bound(kdl(x,0,-1));
    if(it->l==x)return it;
    it=prev(it);int l=it->l,r=it->r,t=it->t;
    st.erase(it);st.insert(kdl(l,x-1,t));
    return st.insert(kdl(x,r,t)).first;
}

标签:kdl,set,return,暴力,int,st,朵莉树
来源: https://www.cnblogs.com/hzoi-fengwu/p/15313504.html