#P16455. [UOI 2026] Unique Letters

    ID: 18839 远端评测题 300ms 512MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>Special Judge2026UOI(乌克兰)

[UOI 2026] Unique Letters

题目描述

给定两个由小写拉丁字母组成的字符串 ss 和 tt。

你可以任意排列字符串 ss 中的字符,也可以任意排列字符串 tt 中的字符。

我们定义字符串 xx 的 唯一化 过程如下:首先,令辅助字符串 aa 为空。然后从左到右依次处理字符串 xx 中的字符。设当前字符为 cc。

  • 若字符 cc 未在当前字符串 aa 中出现,则将该字符 cc 追加到 aa 的末尾。
  • 若字符 cc 已经在当前字符串 aa 中出现过,则将 aa 中从开头到第一次出现 cc 为止(包含该 cc)的后缀从 aa 中删除。此时,当前正在处理的字符 cc 不会被加入。

将处理完所有字符后得到的字符串 aa 称为该字符串的 唯一化 结果。

请你判断是否能够通过排列得到字符串 s′s' 与 t′t',使得:

  • s′s' 是字符串 ss 中字符的一个排列;
  • t′t' 是字符串 tt 中字符的一个排列;
  • 字符串 s′s' 的 唯一化 结果等于 t′t'。

输入格式

第一行包含字符串 ss (1≤∣s∣≤2⋅105)(1 \le |s| \le 2 \cdot 10^5)。

第二行包含字符串 tt (1≤∣t∣≤2⋅105)(1 \le |t| \le 2 \cdot 10^5)。

两个字符串均仅由小写拉丁字母组成。

输出格式

若无法得到满足要求的字符串 s′s' 与 t′t',输出 NO。

否则,输出 YES。接下来输出两行,分别为字符串 s′s' 与 t′t',满足:

  • s′s' 是字符串 ss 中字符的一个排列;
  • t′t' 是字符串 tt 中字符的一个排列;
  • 字符串 s′s' 的 唯一化 结果等于 t′t'。
bbcdfe
fe
YES
bcdbef
ef
bbfcbbd
f
YES
bcdbfbb
f
cgbfedc
gfbc
NO

提示

对于第一个样例:

我们将字符串 ss 排列为 bcdbef,将字符串 tt 排列为 ef。

构造字符串 aa 的过程如下:

  • 处理字符 b 后,a=ba = \texttt{b};
  • 处理字符 c 后,a=bca = \texttt{bc};
  • 处理字符 d 后,a=bcda = \texttt{bcd};
  • 处理字符 b 时,字母 b 已在 aa 中存在,因此我们将 aa 中到第一次出现 b 为止的后缀删除。随后,aa 变为空字符串;
  • 处理字符 e 后,a=ea = \texttt{e};
  • 处理字符 f 后,a=efa = \texttt{ef}。

在第四步中,字母 c 和 d 也一同从 aa 中被移除,而不仅仅是字母 b。

最终得到的字符串 aa 等于排列后的字符串 tt,因此存在答案。

对于第二个样例:

我们将字符串 ss 排列为 bcdbfbb,并保持字符串 tt 为 f。

构造字符串 aa 的过程如下:

  • 处理字符 b 后,a=ba = \texttt{b};
  • 处理字符 c 后,a=bca = \texttt{bc};
  • 处理字符 d 后,a=bcda = \texttt{bcd};
  • 处理字符 b 时,字母 b 已在 aa 中存在,因此我们将 aa 中到第一次出现 b 为止的后缀删除。随后,aa 变为空字符串;
  • 处理字符 f 后,a=fa = \texttt{f};
  • 处理字符 b 后,a=fba = \texttt{fb};
  • 处理字符 b 时,字母 b 已在 aa 中存在,因此我们将 aa 中到第一次出现 b 为止的后缀删除。随后,a=fa = \texttt{f}。

在第四步中,字母 c 和 d 也一同从 aa 中被移除,而不仅仅是字母 b。

最终得到的字符串 aa 等于排列后的字符串 tt,因此存在答案。

在第三个样例中,可以证明:对于字符串 cgbfedc 的任何排列,其 唯一化 结果都不可能是字符串 gfbc 的排列。

计分

  • (44 分):∣s∣=∣t∣=1|s|=|t|=1;
  • (88 分):ss 可以通过排列字母得到 tt;
  • (88 分):ss 中所有字母互不相同;
  • (1212 分):字符串 ss 中仅有一个字母出现次数超过 11;
  • (2424 分):s=aaaaabbbbbcccccddddds=\texttt{aaaaabbbbbcccccddddd};
  • (1616 分):∣s∣≤8|s| \le 8;
  • (2828 分):无额外限制。

翻译由 DeepSeek V4 Pro 完成