CF1444B Divide and Sum

B-Divide and Sum

题目叙述

给一个长度为 \(2n\) 的数组,现在要把它分为两个长度为 \(n\) 的数组,定义一种划分方法的权值为将其中一个从小到大排列,另一个从大到小排列后两个数组对位相减后的绝对值之和。也就是 \(\sum_{i=1}^n|p_i-q_i|\)\(p\) 是递增的,\(q\) 是递减的。

题解

这题是逗乐的。

所有划分方式的结果都是一样的。考虑把配对方式画到数轴上,可以发现任何配对方式任意两个配对组成的区间要么包含要么交叉。如果存在两个配对满足既不包含也不交叉,那么一定不满足条件。这里的配对是指可以产生贡献的,也就是第一块最大与第二块最小配对。而任意两个交叉的配对方式都可以调整为包含的配对方式(不一定仍然满足条件,但是代价不变,这一步的作用就是证明代价都一样)。所以最终一定是任何两个数对都是包含关系。而任意两个配对都是包含关系的情况只有一种,那就是最大与最小,次大与次小......以此类推。所以所有方案的权值都一样。

idea

这种配对、绝对值的题画到数轴上很管用,顺便可以考虑一下是否交叉,是否包含,是否分离。

posted @ 2021-04-04 11:02  YouthRhythm  阅读(21)  评论(0编辑  收藏  举报