题意
给定一棵有n个点,m个叶子节点的树,其中m个叶子节点分别为1到m号点,每个叶子节点有一个权值r[i]。你需要给剩下n-m个点各指定一个权值,使得树上相邻两个点的权值差的绝对值之和最小。
n≤500000 n ≤ 500000
分析
先考虑菊花图要怎么做。如果我们把权值看成数轴上的坐标,显然取中位数是最优的。
这样的话每个点的最优权值就是一个区间,只要把变成有根树,然后父亲的最优区间就可以通过儿子的来得到。
时间复杂度 O
给定一棵有n个点,m个叶子节点的树,其中m个叶子节点分别为1到m号点,每个叶子节点有一个权值r[i]。你需要给剩下n-m个点各指定一个权值,使得树上相邻两个点的权值差的绝对值之和最小。
n≤500000 n ≤ 500000
先考虑菊花图要怎么做。如果我们把权值看成数轴上的坐标,显然取中位数是最优的。
这样的话每个点的最优权值就是一个区间,只要把变成有根树,然后父亲的最优区间就可以通过儿子的来得到。
时间复杂度 O