线段树合并的过程中可能会修改某个子节点下线段树的值,so 请额外记录一个 ans 数组 (看写法)
错误:
for(int i = 1; i <= n; ++i) printf("%d\n", tr[i].query());
正确:
for(int i = 1; i <= n; ++i) printf("%d\n", ans[i]);