一棵树上有一些黑点和白点,将它们两两配对,配对 \((i,j)\) 的代价为 \(dist(i,j)\),求最小代价。
结论:将黑点的权值设为 \(1\),白点的权值设为 \(-1\),\(S_i\) 为 \(i\) 子树的权值和,则答案为 \(\sum |S_i|\)。
考虑一个点 \(i\),我们贪心的希望 \(i\) 子树内的点尽量的去匹配它子树内的点,那么 \(|S_i|\) 就是多出来的那一部分点。它们一定会往上走,也就是对答案产生 \(1\) 的贡献。
标签:设为,匹配,黑点,白点,trick,权值,树上 From: https://www.cnblogs.com/wwlwakioi/p/17083988.html