CF1084C The Fair Nut and String
题目描述
Fair Nut 发现了一个字符串 $s$。该字符串由小写拉丁字母组成。Fair Nut 是个好奇的人,他想找出严格递增序列 $p_1, p_2, \ldots, p_k$ 的数量,满足:
1. 对于每个 $i$($1 \leq i \leq k$),有 $s_{p_i} = $ 'a'。
2. 对于每个 $i$($1 \leq i < k$),存在某个 $j$,使得 $p_i < j < p_{i + 1}$ 并且 $s_j = $ 'b'。
Fair Nut 因为不知道如何求解而感到苦恼。请你帮助他。
答案需要对 $10^9 + 7$ 取模。
输入格式
第一行包含字符串 $s$($1 \leq |s| \leq 10^5$),字符串仅由小写拉丁字母组成。
输出格式
输出一行,表示满足条件的序列 $p_1, p_2, \ldots, p_k$ 的数量,对 $10^9 + 7$ 取模。
说明/提示
在第一个样例中,共有 $5$ 个可能的序列。分别为 $[1]$,$[4]$,$[5]$,$[1, 4]$,$[1, 5]$。
在第二个样例中,共有 $4$ 个可能的序列。分别为 $[2]$,$[3]$,$[4]$,$[5]$。
在第三个样例中,共有 $3$ 个可能的序列。分别为 $[1]$,$[3]$,$[4]$。
由 ChatGPT 4.1 翻译