luogu#P10694. [SNCPC2024] 双子序列
[SNCPC2024] 双子序列
题目描述
小 L 看到不喜欢的字符串就很难受!看到它作为子序列出现也是!
给定一个长字符串 表示小 L 要阅读的文本,以及恰好两个短字符串 , 表示小 L 不想看到的字符串,三个字符串均由小写字母组成。
小 L 很反感这两个字符串作为子序列在文本内同时出现,他认为,一个字符串 的反感度为: 作为 的子序列的出现次数,和 作为 的子序列的出现次数之积。
由于他要读 的每个子串,所以现在需要你求出 的所有子串的反感度值之和。由于答案可能过大,你只需要输出对 取模的结果。
定义一个字符串 是 的子串,当且仅当 由 删除最前面的若干字符和最后面的若干字符获得(前缀后缀可以一个字符都不删除,也可以把整个串全删除得到空串)。
定义一个字符串 是 的子序列,当且仅当 由 删除若干字符后获得(可以一个字符都不删除,也可以全删除后得到空子序列)。
输入格式
输入包括三行,每行一个仅由小写字母组成的字符串。
第一行的字符串代表 ,第二行代表 ,第三行代表 。其中 ,。
输出格式
输出一个整数代表求得的答案。
iccpcicpc
icpc
ccpc
133
提示
子串起始位置 | 子串终止位置 | icpc 次数 | ccpc 次数 |
---|---|---|---|
1 | 5 | 2 | 1 |
6 | |||
7 | 4 | 2 | |
8 | |||
9 | 11 | 9 | |
2 | 5 | 0 | 1 |
6 | |||
7 | 2 | ||
8 | |||
9 | 1 | 9 | |
3 | 3 | ||
4 | 1 | ||
5 | |||
6 | 0 |
在其余的子串内,两个字符串作为子序列的出现次数均为 。
答案为 $(2\times 1) \times 2 + (4\times 2) \times 2 + 11\times 9 + (0\times 1)\times 2 + (0\times 2)\times 2 + 1\times 9 + 1\times 3+ (1\times 1)\times 2 + 1\times 0=133$。