[AGC027E] ABBreviate
题意翻译
给定一个只含小写字母 $\mathtt{a}, \mathtt{b}$ 的字符串 $s$,每次你可以执行以下两种操作:
1. 选取 $s$ 中连续的两个字符 $\mathtt{aa}$,把它们删去,替换成一个字符 $\mathtt{b}$。
2. 选取 $s$ 中连续的两个字符 $\mathtt{bb}$,把它们删去,替换成一个字符 $\mathtt{a}$。
请你求出执行若干次操作后,能够得到的本质不同的字符串有多少个,答案对 $({10}^9 + 7)$ 取模。
- $1 \le |s| \le {10}^5$。
题目描述
[problemUrl]: https://atcoder.jp/contests/agc027/tasks/agc027_e
`a` と `b` のみからなる文字列 $ s $ があります。 すぬけ君は、次の $ 2 $ 種類の操作を任意の順序で任意の回数だけ行えます。
- $ s $ 中の部分文字列 `aa` を一箇所選び、`b` へ置き換える。
- $ s $ 中の部分文字列 `bb` を一箇所選び、`a` へ置き換える。
$ 0 $ 回以上の操作の後、$ s $ は何通りありうるでしょうか? $ 10^9\ +\ 7 $ で割った余りを求めてください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ s $
输出格式
操作後の $ s $ は何通りありうるか? $ 10^9\ +\ 7 $ で割った余りを出力せよ。
输入输出样例
输入样例 #1
aaaa
输出样例 #1
6
输入样例 #2
aabb
输出样例 #2
5
输入样例 #3
ababababa
输出样例 #3
1
输入样例 #4
babbabaaba
输出样例 #4
35
说明
### 制約
- $ 1\ \leq\ |s|\ \leq\ 10^5 $
- $ s $ は `a` と `b` のみからなる。
### Sample Explanation 1
次の $ 6 $ 通りです。 - `aaaa` - `aab` - `aba` - `baa` - `bb` - `a`
### Sample Explanation 2
次の $ 5 $ 通りです。 - `aabb` - `aaa` - `bbb` - `ab` - `ba`
### Sample Explanation 3
すぬけ君は一度も操作を行えません。