tree[x].len = tree[lson].len + tree[rson].len; 这一行如果 x 是叶子节点也会访问左右孩子,改为 tree[x].len = tree[x].l==tree[x].r?0:tree[lson].len + tree[rson].len; 后开 8倍空间 ( 2n2n2n 条线段,线段树要开4倍空间)就可以 N=105N=10^5N=105 过去
tree[x].len = tree[lson].len + tree[rson].len;
x
tree[x].len = tree[x].l==tree[x].r?0:tree[lson].len + tree[rson].len;