大家好,我今天写了一发指针线段树(主席树)。
我在修改操作的时候会 new 一些节点出来。
node *change(node *ORG ,int pos ,int val){
node *x = new node;
*x = *ORG ,x->tag = 0;
if(x->l == x->r){
x->sum += val;
return x;
}
if(pos <= x->l) x->lch = change(ORG->lch ,pos ,val);
else x->rch = change(ORG->rch ,pos ,val);
return pushup(x) ,x;
}
我随便运行了一组小样例,得到了报错:malloc_consolidate(): invalid chunk size
,不知是为何?
同时我发现一旦我加上调试语句 TEST2,程序即可正常运行。觉得很奇怪,故发帖求助 qwq。
系统是 Ubuntu 19.10,内存 3.8 GiB。