F 对于每一棵子树,考虑如何快速进行配对,ma为子树中权值最大的颜色的权值,sum为子树总权值,可以发现,如果ma>sum/2,那么这棵子树的答案就是sum-ma,否则答案就是sum/2。维护子树信息可以通过线段树合并或dsu on tree 线段树合并代码 #include <bits/stdc++.h> #define fi first #define se second #define ll long long #define pb push_back #define mp make_pair #define fun function #define sz(x) (x)...