Loading

P10887 【MX-S3-T3】「FeOI Round 1」再演

来补一步两三年前的题。

首先考虑这么一件事情,我第一步应该怎么操作?

我能得到的信息只有 \(res\) 这一个值,又由于我们需要知道大小关系,所以肯定跟 \(1\) 或者 \(2n\) 交换,你发现跟 \(2n\) 换答案就又乱了,于是你和 \(1\) 换。

此时我们发现一个很优美的事情,下一次答案必然为 \(res\) 所在对的另外一个值,此时我们将这个值和 \(2n\) 交换,那么 \(1\)\(2n\) 就组成一对了,我们可以不断的递归这个操作,再删减掉一些区间极小时的无用操作,很容易将交互次数做到 \(2n - 3\)

然后我们再通过交换反推回去即可。

posted @ 2025-09-05 19:23  Alexande  阅读(5)  评论(0)    收藏  举报