CF196D The Next Good String
题目描述
在有关字符串的问题中,我们常常需要找到具有某种特性的字符串。出题人不想在想一个新名字上浪费时间,于是就把这种字符串叫做“好串”。如果一个字符串中不存在长度大于等于 $d$ 的回文子串,我们称它为好串。
给定一个只包含小写英文字母的字符串 $s$,请找出一个长度为 $|s|$、只包含小写英文字母、字典序大于 $s$ 的好串 $t$。在所有满足条件的字符串中,$t$ 需要是字典序最小的。
我们称非空字符串 $s[a\, ...\, b]=s_{a}s_{a+1}\cdots s_{b}$($1\le a\le b\le |s|$)为字符串 $s=s_{1}s_{2}\cdots s_{|s|}$ 的子串。
非空字符串 $s=s_1s_2\cdots s_n$ 被称为回文字符串,当且仅当对所有 $1\le i\le n$,都有 $s_i=s_{n-i+1}$。换句话说,回文串正着和反着读都相同。
字符串 $x=x_1x_2\cdots x_{|x|}$ 的字典序大于字符串 $y=y_1y_2\cdots y_{|y|}$,当且仅当:
- 要么 $|x|>|y|$,且 $x_1=y_1,\ x_2=y_2,\ \ldots,\ x_{|y|}=y_{|y|}$;
- 要么存在某个 $r$($r
输入格式
第一行输入一个整数 $d$($1\le d\le |s|$)。
第二行输入一个非空字符串 $s$,其长度不超过 $4\times 10^5$。该字符串仅由小写英文字母组成。
输出格式
输出一个长度与 $s$ 相同、字典序大于 $s$ 的好串。如果不存在这样的字符串,输出 “Impossible”。
说明/提示
由 ChatGPT 5 翻译