题面 这道题是一道比较水的XXOI题: 我们可以发现,反着思考题目就变为了让所有叶子节点同时发出信号,然后这些信号同时到达根节点: 可以证明,这样答案不会改变: 那么我们可以自下而上dfs(),设f[u]表示以u为根,可以到达的最远距离: 那么很显然,对于点u,它对答案的贡献度就是num(它子节点的个数)*f[u]-sum(f[v]); 实现也比较容易,但要注意开long long; #include <bits/stdc++.h> #define inc(i,a,b) for(registe…