1 条题解

  • 0
    @ 2026-9-9 9:02:04

    题解

    思路

    把未知串的每个位置视为变量。

    做法

    要求 SS′SS' 与 S′SS'S 回文,等价于分别把这两个连接串中关于中心对称的位置设为相同字符;约束可能连接两个变量,也可能把变量固定为 SS 中的某个字符。用并查集合并这些等价关系,并在每个连通块中记录它被固定到哪些字符,只要某个连通块同时包含两个不同字符就无解,否则可以任取字符补全所有未固定变量。

    还需处理极大的 KK。沿上述对称关系继续追踪未知位置时,每跨过 2N2N 个位置,变量与 SS 中字符的对应关系会完整重复一次,因此可行性只与 K mod 2NK\bmod 2N 有关;余数为零也按长度为零建立约束。令 k=K mod 2Nk=K\bmod 2N 后只需建立 k+26k+26 个并查集结点,并扫描两个长度为 N+kN+k 的连接串各一半。

    复杂度

    总时间复杂度为 O(Nα(N))O(N\alpha(N)),空间复杂度为 O(N)O(N)。

    • 1

    信息

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