稍微调整了一下,感觉看起来比原题解清晰一些,注意外层sz和HLD里的sz不同 #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i = a; i <= b; ++i) #define per(i, a, b) for(int i = a; i >= b; --i) const int N = 2e5 + 5; vector<int> g[N]; int col[N]; int sz[N], ans[N], tp[N]; int n; namespace seg...