RT,当我使用子树大小为优先级进行合并:
int merge(int x, int y) { if (!x || !y) { return x | y; } if (t[x].sz > t[y].sz) // 在这里 { rc(x) = merge(rc(x), y); pushup(x); return x; } else { lc(y) = merge(x, lc(y)); pushup(y); return y; } }
就会TLE
但是用随机权值就能过
按理来说启发式的合并应该更快啊?
求解答