2017种树题解
Posted kuangbiaopilihu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017种树题解相关的知识,希望对你有一定的参考价值。
分析
每棵树的费用为 (cost_i=sum_{k=1}^(i-1) |x_i-x_k|)。
由于 (x_i) 与 (x_k) 的大小关系的存在,我们可以把它分成两部分:
- (sum (x_i-x_k) | x_i >= x_k, 1 le k le i-1)
- (sum (x_k-x_i) | x_i < x_k, 1 le k le i-1)
上面 1 式继续展开:(=sum x_i - sum x_k = cnt_1 imes x_i + sum x_k | x_i >= x_k, 1 le k le i-1)
上面 2 式继续展开:(=sum x_k - sum x_i = sum x_k - cnt_2 imes x_i | x_i < x_k, 1 le k le i-1)
因此,我们只要找出上面的 (cnt_1,cnt_2) 和两个sum即可。
很显然,(cnt_i) 就是不大于 (x_i) 的数的个数,(cnt_2) 类似。
1 式中的 (sum x_k) 是不大于 (x_i) 的所有数的和,2 式中的类似。
所以我们可以建线段树,把 (x_i) 加到 (x_i),求 cnt 和 sum 即求区间和。
以上是关于2017种树题解的主要内容,如果未能解决你的问题,请参考以下文章