对于一个字符串 S, 我们定义 ∣S∣ 表示 S 的长度。接着,我们定义 Si 表示 S 中第 i 个字符,SL,R 表示由 S 中从左往右数,第 L 个字符到第 R 个字符依次连接形成的字符串。特别的,如果 L>R,或者 L∈/[1,∣S∣],或者R∈/[1,∣S∣],则我们可以认为 SL,R 为空串。
我们再定义两个字符串 A 和 B 的加法, A+B 为将 B 字符串整体连接在 A 的最后一个字符后面得到的大字符串。
例如,我们可以认为 aaaa+bbbb=aaaabbbb。
我们不难发现,上述定义的加法满足结合律,但不满足交换律。
最后,我希望你还能明白,字典序是什么。
为了让你明白字典序是什么,你还需要明白前缀是什么。我们说一个字符串 A 是另一个字符串 B 的前缀,当且仅当存在一个整数 len,使得 A 与 B1,len 是完全相同的字符串。
对于两个不同的字符串 A 和 B,如果 A 是 B 的一个前缀,则我们认为在字典序下, A<B; 如果 B 是 A 的前缀,则我们认为在字典序下,B<A。 否则,我们总能找到一个最小的 i, 使得 Ai=Bi, 如果 Ai<Bi, 则我们认为在字典序下,A<B,否则 B>A。