为了更好的阅读体检,可以查看我的算法学习网
在线评测链接:P1158
题目内容
塔子哥是一名热爱字符串算法的程序员。他最近遇到了一个有趣的问题。
给定一个字符串
s
s
s,字符串中包含多少个 red
子串,就给这个字符串一个权值,权值就是 red
子串的数量。
例如: r e d d redd redd 权值为1, r e d r e d r redredr redredr 权值为2, r e e d reed reed 权值为0
现在考虑计算一个字符串 s s s 所有非空子序列的权值和。 答案可能很大,请对 1 e 9 + 7 1e9+7 1e9+7取模
长为 n n n 的字符串的非空子序列为 2 n − 1 2^n-1 2n−1 个。
输入描述
输入第一行为一个字符串 s ( 1 ≤ ∣ s ∣ ≤ 100000 ) s (1 \leq |s| \leq 100000) s(1≤∣s∣≤100000)。
输出描述
输出字符串所有非空子字符串的权值和。
样例
输入
rredd
输出
9