CF319D Have You Ever Heard About the Word?
题目描述
字符串的子串是该字符串的一个连续子序列。例如,字符串 bca 是字符串 abcabc 的子串,但 cc 不是。
一个“重复块”是指由某个字符串自身拼接而成的字符串。例如,字符串 abcabc 是一个重复块,但字符串 abcabd、ababab 不是。
现在给定一个由小写拉丁字母组成的字符串。每一步,你需要找到最短的重复块子串,如果有多个满足条件的,选择最靠左的那个。由于该子串的形式为 $XX$($X$ 为某个字符串),你需要将这个子串替换成 $X$,也就是删除掉其中一个 $X$。不断重复这个过程,直到字符串中不再包含任何重复块为止。
最终字符串是什么样子的?可以参考样例解释来更准确地理解题目。
输入格式
输入第一行是一个由小写拉丁字母组成的字符串,长度 $1$ 到 $50000$。
输出格式
输出进行操作后的最终字符串。
说明/提示
对于第一个样例,字符串变化过程如下:abccabc $\to$ abcabc $\to$ abc。
对于第二个样例,字符串变化过程如下:aaaabaaab $\to$ aaabaaab $\to$ aabaaab $\to$ abaaab $\to$ abaab $\to$ abab $\to$ ab。
由 ChatGPT 5 翻译