题解:CF2247D1 XOR Sorting (Easy Version)
CF2247D1 XOR Sorting (Easy Version) 题解
1. 核心结论
- 先把原数组排序,得到目标有序数组。
- 对每个位置下标:找出该位置上,原数组元素和排序后元素交换所需跨越的下标对。
- 答案 = 所有错位位置中,原下标 和 目标下标 的异或值的最大值。
原理:元素要归位,必须能在两个下标间交换。要求的最小 k 就是所有必须用到的下标异或的最大值。
2. 解题步骤
- 复制原数组,进行排序,得到标准有序数组。
- 遍历每一个下标
i:找到原数组a[i]在有序数组中正确位置pos,计算i XOR pos,记录全局最大值。 - 全局最大值即为答案。
说明:本题元素可重复,但题目保证按位置映射即可,直接一一对应计算。