开始: 2025-07-10 17:50:00

暑假训练赛07

结束: 2025-07-10 20:40:00
当前  2025-07-16 10:16:57  类型: IOI  状态: 已经结束 

P5. 子串权值和
描述

小Z定义一个字符串的权值为:该字符串包含的"abba"子序列的数量。

给定一个字符串,试求它的所有连续子串的权值和。答案请对(10^9 + 7)取模。

子串定义:字符串删除一个前缀和一个后缀(也可以不删)得到的字符串。例如,"arcaea"的子串有"arc"、"ca"等。

子序列定义:字符串删除若干个字符(也可以不删)得到的字符串。例如,"arcaea"的子序列有"aca"等。


输入

输入一个仅包含小写字母'ab'的字符串。

输出

所有连续子串的权值和。答案对(10^9 + 7)取模。

样例

输入

abbaa

输出

3
提示

"abba"的权值为 1,"abbaa"的权值为 2。权值之和为 1 + 2 = 3。


- 对于10%的数据,保证字符串长度不超过20。

- 对于20%的数据,保证字符串长度不超过200。

- 对于30%的数据,保证字符串长度不超过2000。

- 对于50%的数据,保证字符串长度不超过(10^5)。

- 对于80%的数据,保证字符串长度不超过(10^6)。

- 对于100%的数据,保证字符串长度不超过(5\times 10^6)。


提交

题目参数
时间限制 1 秒
内存限制 256 MB
提交