这个题看起来无从下手,但是仔细分析会发现,我们dfs得出每个子树的节点个数,如果是奇数,那么我们就需要加上这条连向这个点的边权值,因为奇数个点不可能完成题目要求两两分组。如果节点个数为偶数就不用管。 #include<bits/stdc++.h> using namespace std; const int N=2e4+10; int h[N],e[N],w[N],ne[N],idx; long long ans; void add(int a,int b ,int c) { w[idx]=c,e[idx]=b,ne[idx]=h[a],h[a]=idx++; } int...