区间操作的可持久化。
窝的大佬同学说要改很多东西。
但是我觉得每次pushdown 的时候直接新建 lson 和 rson 的副本,并将 now 节点的左右儿子先更新后还原就行了。
这是我思路的伪代码段
inline void update(int &now,int pre,int nowl,int nowr,int lt,int rt,int val){
node prel=hjt[pre].l,prer=hjt[pre].r;
now=++cnt;
hjt[now]=hjt[pre];
if (hjt[now].tag!=0){
hjt[now].l=++cnt;
hjt[now].l=hjt[pre].l;
hjt[now].r=++cnt;
hjt[now].r=hjt[pre].r;
}
hjt[pre].l=prel,ht[pre].r=prer;
return;
}
请问这样的思路正确吗