[jzoj5406]【NOIP2017提高A组模拟10.10】Tree

来源:互联网 发布:深圳乐易网络双休吗 编辑:程序博客网 时间:2024/06/08 02:35

Description

给定一颗n 个点的树,树边带权,试求一个排列P,使下式的值最大
这里写图片描述
其中maxflow(s; t) 表示从点s 到点t 之间的最大流,即从s 到t 的路径上最小的边权

Input

第一行一个整数n,表示点数
下接n - 1 行,每行三个数u, v, w 表示一条连接点u 和点v 权值为w 的边

Output

输出一行一个整数,表示答案

Sample Input

2
1 2 2333

Sample Output

2333

Data Constraint

对于前5% 的数据满足n <= 8
对于前40% 的数据满足n <= 200
对于前60% 的数据满足n <= 2000
对于100% 的数据满足n <= 100000


这就是个结论题,然而我一开始看错题了,就没有然后了。
这个题的答案其实就是边权之和。
我们可以这样考虑:
按边权从小到大插入,然后调整排列。
既然我们要最大化,那么我们就要让每条边的贡献尽量地少,我们发现,只有当把它两边的点完全分开的时候,才是贡献最少的时候,此时它被计算了一次。
并且这样做是没有后效性的,所以就可以贪心地去加边,因此答案就是边权和。
代码就不贴了。

阅读全文
0 0
原创粉丝点击