申请撤下本题的大部分题解
查看原帖
申请撤下本题的大部分题解
578628
Undead2008楼主2024/9/8 21:37

本题的大部分题解均没有对关键结论“XX 等于所有不在位置上的数按位与起来”进行证明或是给出了完全错误的证明,更有甚者代码与题解阐述内容根本不符。

考虑到本题主要的难点是发现该结论并且证明该结论的正确性,所以请求撤下所有不合要求,对读者有误导性的题解。

为了不被喷飞,斗胆写一个证明:

所有不在位置上的数均至少被操作一次,每次操作的两个数均为 XX 的超集,所以 XX 的上界是所有不在位置上的数按位与起来;

考虑直接构造方案让 XX 取到该上界。任选两个 XX 的超集元素 uu 和 vv:

  • 如果 uand⁡v=Xu\operatorname {and} v=X,则直接交换 uu 和 vv;
  • 否则 u,v≠Xu,v\neq X,交换 uu 和 XX,交换 vv 和 XX,交换 uu 和 XX。这样就相当于交换了 uu 和 vv。

综上可以将序列中 XX 的超集元素任意重排,也就是一定能将原序列变成有序。

2024/9/8 21:37
加载中...