#include <bits/stdc++.h>
class Tree {
private:
int n, cnt = 0, now = 0;
std::vector<int> ls, rs, root;
int newnode () {
++cnt;
ls.resize(cnt + 1);
rs.resize(cnt + 1);
return cnt;
}
int build (int k, int l, int r) {
if (k == 0) {
k = newnode();
}
if (l == r) {
return k;
}
int mid = (l + r) / 2;
ls[k] = build(ls[k], l, mid);
rs[k] = build(rs[k], mid + 1, r);
return k;
}
public:
Tree (int n, int mode) : n(n), root(n + 1) {
root[0] = build(root[0], 1, n);
}
};
signed main() {
Tree fa(5, 0);
Tree siz(5, 0);
}
这份代码在 C++14(GCC 9) 情况下会RE,但是在 C++17,C++20 却能正常运行,求助哪里有UB?