2017种树题解

Posted kuangbiaopilihu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017种树题解相关的知识,希望对你有一定的参考价值。

分析

每棵树的费用为 (cost_i=sum_{k=1}^(i-1) |x_i-x_k|)

由于 (x_i)(x_k) 的大小关系的存在,我们可以把它分成两部分:

  1. (sum (x_i-x_k) | x_i >= x_k, 1 le k le i-1)
  2. (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种树题解的主要内容,如果未能解决你的问题,请参考以下文章

P1484 种树

牛客白月赛29题解

牛客白月赛29题解

题解小合集——第一弹

1768 种树 3

1423:例题2种树