#P5019. 嘤嘤的子串权值和

嘤嘤的子串权值和

题目描述

嘤嘤定义一个字符串的权值为:该字符串包含的 abbaabba 子序列的数量。

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

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

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

输入文件 substring.in

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

输出文件 substring.out

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

abbaa
3

abbaabba 的权值为 11abbaaabbaa 的权值为 22。权值之和为 1+2=31+2=3

提示

样例 2 见附加文件。

对于 10%10\% 的数据,保证字符串长度不超过 2020

对于 20%20\% 的数据,保证字符串长度不超过 200200

对于 30%30\% 的数据,保证字符串长度不超过 20002000

对于 50%50\% 的数据,保证字符串长度不超过 10510^5

对于 80%80\% 的数据,保证字符串长度不超过 10610^6

对于 100%100\% 的数据,保证字符串长度不超过 5×1065×10^6