AT_agc019_b [AGC019B] Reverse and Compare
题目描述
有一个由小写英文字母组成的字符串 $A = A_1A_2...A_n$。
你可以选择任意满足 $1 \leq i \leq j \leq n$ 的两个下标 $i, j$,将 $A$ 的某个子串 $A_iA_{i+1}...A_j$ 进行反转。
这个操作最多只能执行一次。
通过这个操作可以得到多少种不同的字符串?
输入格式
输入将按照以下格式从标准输入读入。
> $A$
输出格式
输出通过至多一次对 $A$ 的任意子串反转操作能得到的不同字符串的个数。
说明/提示
## 限制条件
- $1 \leq |A| \leq 200,\!000$
- $A$ 仅由小写英文字母组成。
## 样例解释 1
可以得到的字符串有 `aatt`(什么都不做)、`atat`(反转 $A[2..3]$)、`atta`(反转 $A[2..4]$)、`ttaa`(反转 $A[1..4]$)、`taat`(反转 $A[1..3]$)。
## 样例解释 2
无论反转哪个部分子串,最终结果都是 `xxxxxxxxxx`。
由 ChatGPT 5 翻译