AT_arc227_c [ARC227C] Follow the Letters

题目描述

给定一个长度为 $N$ 的字符串 $S$,该字符串仅包含小写英文字母。令 $S_i$ 表示 $S$ 的第 $i$ 个字符。 有 $N$ 个岛屿呈环状排列,编号为岛屿 $1$、岛屿 $2$、$\ldots$、岛屿 $N$,按顺时针方向排列。特别地,顺时针相邻于岛屿 $N$ 的是岛屿 $1$。第 $i$ 个岛屿上写有字符 $S_i$。初始时,每个岛屿上都有一个人。 你可以执行以下操作,操作次数不限(可以为零): - 选择 $S$ 中出现过的某个字符 $c$。此时每个人都离开当前所在的岛屿,并每次顺时针依次移动一个岛屿,直到第一次到达有字符 $c$ 的岛屿时停下。即便当前岛屿上写有字符 $c$,此人也要离开。 令 $K$ 表示所有操作结束后,至少有一个人所在的岛屿的最小可能数量。 请你求出 $K$ 的最小值,以及一种能够使有人的岛屿数量达到 $K$ 的操作序列。 在本题约束下,可以证明一定存在长度不超过 $10^6$ 的操作序列,使得操作结束后有人的岛屿数量为 $K$。

输入格式

输入包含一行,格式如下: > $N\ S$

输出格式

设 $L$ 为操作次数,$X$ 为操作序列。请按以下格式输出: > $K\ L\ X$ 如果 $L=0$,则第三行输出为空行。 $L$ 需满足 $0 \le L \le 10^6$。 $X$ 必须是长度为 $L$ 的字符串,仅由 $S$ 中出现过的字符组成,第 $i$ 个字符表示第 $i$ 次选择的字符。 按照操作序列 $X$ 执行后,有人的岛屿数量必须为 $K$。 如有多种满足条件的输出,均可。

说明/提示

### 样例解释 1 如果选择字符 `b` 进行操作,所有人都会聚集到写有字符 `b` 的岛屿上。此时有人的岛屿数为 $1$,且这是最小值。 ### 样例解释 2 先选择 `a` 操作,再选择 `b` 操作,所有人会聚集到同一个岛屿。有人的岛屿数为 $1$,这是最小值。 ### 样例解释 3 无论如何操作,每个人都会移动到下一个顺时针岛屿。有人的岛屿数始终为 $4$,所以 $K=4$。此样例输出未进行任何操作。 ### 约束条件 - $1 \le N \le 1000$ - $S$ 是一个长度为 $N$ 的由小写英文字母组成的字符串。 - $N$ 是一个整数。 由 ChatGPT 5 翻译