P16628 [GKS 2017 #E] Copy & Paste
题目描述
你想要构造一个特定的目标字符串 $S$,它仅由小写英文字母组成。初始时你有一个空字符串,并且允许执行以下操作:
- 在字符串末尾添加任意一个小写字母。
- 将字符串中的任意子串(即从字符串中某个起始位置到某个结束位置之间的所有字符)复制到剪贴板。执行此操作会覆盖剪贴板中原有的内容。剪贴板初始为空。
- 将剪贴板的**全部**内容添加到字符串末尾(剪贴板内容不变)。
请问构造目标字符串所需的最少操作次数是多少?注意,你必须精确地构造出目标字符串,不能有多余的字母。
输入格式
输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 行,每行包含一个目标字符串 $S$。
输出格式
对于每个测试用例,输出一行,格式为 `Case #x: y`,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是构造目标字符串所需的最少操作次数(如题目描述所述)。
说明/提示
样例 #1 的最优解法为:
1. 输入 `a`。
2. 输入 `b`。
3. 输入 `c`。
4. 复制 `ab` 到剪贴板。
5. 在字符串末尾粘贴 `ab`。
6. 在字符串末尾粘贴 `ab`。
样例 #2 的最优解法为:
1. 输入 `a`。
2. 输入 `a`。
3. 输入 `a`。
4. 复制 `aaa` 到剪贴板。
5. 在字符串末尾粘贴 `aaa`。
6. 复制 `aaaaa` 到剪贴板。
7. 在字符串末尾粘贴 `aaaaa`。
### 限制条件
$S$ 仅由小写英文字母 a 到 z 组成。
**小数据集(测试集 1 – 可见)**
$1 \le T \le 100$。
$1 \le$ $S$ 的长度 $\le 6$。
**大数据集(测试集 2 – 隐藏)**
$1 \le T \le 100$。
$1 \le$ $S$ 的长度 $\le 300$。
翻译由 DeepSeek V4 Pro 完成