1 条题解

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

    题解

    思路

    沿字符串从左到右观察字符变化:每出现一次 XY 就从 X 侧走到 Y 侧,每出现一次 YX 就走回来,因此二者次数之差只可能是 −1,0,1-1,0,1。

    做法

    当 ∣B−C∣=1|B-C|=1 时,可以从对应方向开始交替,再把多余的 XX、YY 插入相应字符段;当 B=C>0B=C>0 时也可从某个字符开始并回到它,同样能容纳任意数量的同字符相邻对。唯一额外例外是 B=C=0B=C=0:字符串从未改变字符,只能全为 X 或全为 Y,所以 A,DA,D 不能同时为正。

    复杂度

    综上,当且仅当 ∣B−C∣≤1|B-C|\le1 且不满足 B=C=0,A>0,D>0B=C=0,A>0,D>0 时输出 Yes,时间和空间复杂度均为 O(1)O(1)。

    • 1

    信息

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