AT_arc201_d [ARC201D] Match, Mod, Minimize
每次遇到这种带 mod 的最优化问题就很烦躁。
首先学到的一个很常用的技巧就是 \((a + b) \bmod m \to (b - (-a)) \bmod m\),将 \(a\) 转化为 \(-a\),符号变为 \(-\)。
这个题目就是说要使得 \(b\) 中一些元素加上 \(m\) 以此来应对可能的进位,要有一种分配方式,并使得差值最大值最小。
那么如果确定了 \(b\) 中哪些元素加上 \(m\),显然最优匹配方案就是双双排序匹配,显然交换两个数不会使得答案更优。
思考哪些地方加上 \(m\),发现只可能是前 \(x\) 小的 \(b\) 加上 \(m\),这样才更有可能匹配上且差值最小(因为只要是 \(b\) 中的一个数,加上 \(m\) 之后都能匹配 \(a\) 中的最大值,这里让最小的几个加上是为了使得差值尽量小),显然,可以二分这个 \(x\),便可以找到答案的构造方案了。

浙公网安备 33010602011771号