其实可以把 rrr 也 mutable 了,这样就可以:
mutable
IT split(int w) { IT it=s.lower_bound(node(w)); if (it!=s.end()&&it->l==w) return it; --it; int r=it->r; it->r=w-1; return s.insert(node(w,r,it->v)).first; }
我们省去了一次插入和一次删除操作。