XOR-distance
很显然的按位考虑,按位考虑之后,求式就变成了\(a\)和\(b\)的每一位与\(x\)异或后相加减
对于大于\(r\)的位\(i\)(指\(2^i>r\)),显然\(x_i\)只能为\(0\)
对于之后的\(i\),我们按照数学归纳法证明贪心,假设我们已经考虑到了第\(i\)位,之前的答案有一个正负号
那么由于\(2^c>\sum_{i=0}^{c-1}2^i\),我们这里想要填的\(x_i\)一定是想与前面的答案异号的(否则最终答案的绝对值至少不会小于当前答案)
然后一步步走就好了
update 2024.7.8
不用管上面写的什么,直接看官方题解就好了,说的挺清楚的
所以以后像这种按位考虑,贪心的话肯定是\(x\)能填\(0\)就填\(0\),然后也可以像题解一样对\(a,b\)排序(这个技巧非常重要,没有这个技巧这道题目是做不了的)
当然有另一种方法,思路来源于微积分的一道题目,用拉格朗日乘数算四面体体积的,也是绝对值,我们只需要算出绝对值里面式子的最大值和最小值,对这两个值取绝对值就可以知道原式的最大值
然而这道题目却不能用这个方法,因为这道题目的值是离散的不是连续的,而且求的是最小值,我们不能简单的去说\(0\)就是最小值