前置知识
a. 树上的任意一条边,在计算所有点之间的距离之和时,计算次数为去掉这个边之后断开的两部分树的大小的积
b. 排序不等式
题意
给你一棵树,分配边权,使所有点之间的距离之和最大
思路
先算出所有边在计算时计算的次数,按排序不等式的规律和边权作积即可
难点在于,讨论 m m m 和 n − 1 n-1 n−1 的大小关系
- m < = n − 1 m<=n-1 m<=n−1时比较好考虑,不够的用 1 1 1 填充
- m > n − 1 m>n-1 m>n−1 时,可以猜想,将前面多出来的部分乘到最左边,让计算次数最多的边权值最大,就是最优方案
代码
考完试补