ARC126E
shiruoyu114514 · · 题解
脑电波题。
断言:令
D = \sum \limits_{i=1}^n \sum \limits_{j=1}^n |a_i-a_j| ,即每个点到其它所有点的距离之和,则答案为\frac{1}{4}D 。证明:我们可以把每次操作拆成若干次操作,使得每次操作过后,不会有一对
p,q 满足在操作前有a_p<a_q ,在操作后有a_p>a_q 。当我们操作下标
i,j(a_i<a_j) 相互靠近x 距离时,由于只有i,j 被改了,所以受到影响的只有所有点与i,j 之间的距离。对于
i 左边的数l ,即a_l<a_i ,贡献为a_i-a_l+a_j-a_l 。由于a_i \leftarrow a_i+x ,a_j \leftarrow a_j-x ,所以l 的贡献不会改变。对于中间的数
m ,即a_i<a_m<a_j ,贡献为a_m-a_i+a_j-a_m=a_j-a_i ,变化后m 的贡献会减少2x 。对于右边的数
r ,即a_j<a_r ,贡献为a_r-a_i+a_r-a_j ,变化后r 的贡献不变。而
i,j 本身的贡献会减少4x 。所以每次贡献至少减少
4x ,并且当且仅当中间没有数,即i,j 相邻时取等。于是得证。
单点修改并维护每个点的贡献时,我们只需要分别知道左边的数的个数与和值,右边的个数与和值即可。权值线段树维护即可。时间复杂度