1 条题解

  • 0
    @ 2026-9-9 9:14:27

    题解

    思路

    一次操作只是把连续三个元素做一个三循环,因此不会改变所有元素组成的多重集;若 AA 与 BB 的多重集不同,答案立即为 No。

    做法

    当序列中存在重复值时,可以把相同的两个元素看成带有不同标号:交换这两个标号会改变排列的奇偶性,却不改变实际序列,所以总能选择一种标号方式,使从 AA 到 BB 的排列为偶排列,此时一定可以由若干个三循环实现,答案为 Yes。

    剩下所有元素互不相同的情况。三循环是偶排列,所以操作始终保持逆序对数的奇偶性;反过来,任意偶排列都能分解为三循环,因此 AA、BB 的逆序对数奇偶性相同也足以保证可达。先用计数数组比较多重集并检查重复值,再用树状数组分别求两个序列的逆序对奇偶性即可。

    复杂度

    时间复杂度为 O(Nlog⁡V)O(N\log V),空间复杂度为 O(V)O(V),其中 V=5000V=5000。

    • 1

    信息

    ID
    1618
    时间
    2000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者