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\)就是最小值

posted @ 2024-02-20 22:56  最爱丁珰  阅读(4)  评论(0编辑  收藏  举报