Loading

[CF 2102] D. Quartet Swapping

思路

首先找到一些性质

  • 奇偶位置上的数字是隔离的
  • 移动奇数位置上的数字时, 必定影响到偶数位置上的数字, 反之亦然

搞得具体一点
不难发现将位置 \(x, x + 2\) 交换时, 必定会使得 \(x - 1, x + 1\) 交换或者 \(x + 1, x + 3\) 交换
因为我们一直让 \(x + 1, x + 3\) 交换是没有后效性的, 所以前 \(n - 3\) 个位置我们一定可以取到对应奇偶位置上的最小数

考虑最后三个位置
显然的, 中间那个是确定的, 我们只需要考虑两边的两种情况
注意到问题主要出现在交换的顺序上, 我们考虑「交换」统一的性质

考虑 \(\boxed{\text{a, b}} \text{ } \boxed{\text{c, d}}\) 交换到 \(\boxed{\text{c, d}} \text{ } \boxed{\text{a, b}}\) 的性质\((\)任意一次操作必然如此\()\)
类似「交换相邻元素」的性质, 我们可以发现逆序对个数的变化量为 \(2\{0, -2, +2\}\), 原谅我使用这种神奇的符号, 但是我们可以知道, 全串的逆序对个数的奇偶性不会改变

因此对于最后三个位置, 我们注意到可能的两种情况对应的逆序对个数奇偶性不同, 因此是唯一确定的

总结

交换相邻元素找逆序对, 算一种神奇的思路

交换类问题, 或者说这种大小强相关的问题, 往往直接规模法处理

posted @ 2025-05-12 17:37  Yorg  阅读(82)  评论(0)    收藏  举报