题面描述
给出一棵树,告诉你每条边对答案的贡献为边两边联通块大小差的绝对值乘上边权,让你求出所有边的贡献之和。
如果没有听懂的话也可以继续看下面的分析。
分析
样例是这样的一颗树
可以手推一下这个例子让你更清楚的理解题意。
由于考虑每条边上的贡献仅由边权和边两边的联通块大小确定,而我们只要知道任意一边的联通块的大小,通过 n-联通块大小 即可得知另一块连通块地大小。
所以我们使用 s i z e i size_i sizei记录以i为根的子树的大小,那么一条边上的贡献就是
d i s t i , j ∗ ∣ s i z e [ i ] − ( n − s i z e [ i ] ) ∣ = d i s t i , j ∗ ∣ s i z e