题解: lct动态维护最小生成树 每次加边时若这两个之间不连通,那么直接连接 如果这两个点联通,那么就找到这条边上的最大值 如果这个大于当前边,就替换掉 但是需要注意的是lct只能维护点,不能维护边 所以可以把边弄成点 代码: #include <bits/stdc++.h> using namespace std; #define ll long long #define maxn 500000 ll n,m,num,root,data[maxn],fa[maxn], leftson[max…