1 条题解

  • 0
    @ 2026-9-9 9:17:13

    题解

    思路

    以每个字符 R 为中心,向左数连续的 A、向右数连续的 C。

    做法

    若两侧数量分别为 ai,cia_i,c_i 且都非零,就得到一个极大的 A...ARC...C 块,记 xi=min⁡(ai,ci)x_i=\min(a_i,c_i)。不同块在操作过程中不会合并;奇数次操作相当于让某个正的 xix_i 减一(减到零便删除),偶数次操作相当于直接删除一个正的 xix_i。设块数为 MM、所有 xix_i 之和为 TT,偶数次操作至多删除一个块,所以操作数不超过 2M2M;每次操作又至少消耗一个单位,所以也不超过 TT。

    这两个上界中的较小者总能达到:当 2M≤T2M\le T 时,奇数轮优先消耗较大的块、偶数轮删除最小块,可以坚持 2M2M 轮;当 2M>T2M>T 时,当前总存在值为 11 的块,偶数轮删除这样的块即可让每轮恰好消耗一个单位。因此答案是 min⁡(T,2M)\min(T,2M)。

    复杂度

    线性扫描字符串统计 MM 与 TT 即可,时间复杂度为 O(N)O(N),额外空间复杂度为 O(1)O(1)。

    • 1

    信息

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