珂朵莉树
怎么说呢?这个东西不能说是一颗树
本质上就是一个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;
}
QQ:2953174821