1 条题解

  • 0
    @ 2026-9-9 8:59:48

    题解

    思路

    一次操作要么作用于三个偶数,要么作用于两个奇数和一个偶数。

    做法

    先检查两个序列的多重集合是否相同。再判断序列中是否存在恰含两个奇数的连续三元组;这种操作一旦可用,就不会因操作而永久消失。若它在 A,BA,B 中的可用性不同,则两个序列不可能互达。

    若这种操作在两边都不可用,奇数的位置和值都不能改变。以奇数为分隔符考察各段连续偶数:长度不超过 22 的段完全不能改变,必须逐项相同;长度至少为 33 的全偶段可通过连续三元组交换任意相邻元素,因此只需多重集合相同。若这种操作在两边都可用,则可将所有奇数移到一起并任意排列;偶数有至少三个时也可任意排列,偶数不是两个时,多重集合相同已经充分。恰有两个偶数时,它们彼此不能交换,还需检查它们在原序列中的相对次序相同。

    复杂度

    排序及扫描的总复杂度为 O(Nlog⁡N)O(N\log N),额外空间为 O(N)O(N)。

    • 1

    信息

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