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 翻译