传统题 1000ms 256MiB

字符串游戏

当前没有测试数据。

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

小 A 拥有 nn 个由小写字母构成的字符串 {Sn}\{S_n\},小 B 拥有 mm 个由小写字母构成的字符串 {Tm}\{T_m\}

现在他们要玩一个游戏,小 B 会每次给定一个字符串 PP。对于字符串 PP,假设 P=A+B+CP = A + B + CAABBCC 均为字符串,AABBCC 可以为空串,++ 表示字符串拼接),小 A 可以通过一次神奇的操作将字符串 PP 变为 BB。若此时存在一个小 A 拥有的字符串 SiS_i,满足 Si=PS_i = P。则记为小 A 胜利。

我们可以把一次操作 P=A+B+CP = A + B + C 描述成一个四元组 (P,A,B,C)(P, A, B, C),认为两个操作 (P0,A0,B0,C0)(P_0, A_0, B_0, C_0)(P1,A1,B1,C1)(P_1, A_1, B_1, C_1) 相同,当且仅当 P0=P1,A0=A1,B0=B1,C0=C1P_0 = P_1, A_0 = A_1, B_0 = B_1, C_0 = C_1

每次游戏前,小 B 会告诉小 A 他这次给定的字符串是 TiT_i 的一个子串(只要子串位置不相同则视作不同)。小 A 想知道,对于小 B 选取子串的所有方法,他能通过 一次 神奇的操作获胜的操作种类数之和。由于答案较大,请对 109+710^9 + 7 取模之后输出。

输入格式

第一行给定两个正整数 n,mn, m (1n2×105,1m106)(1 \leq n \leq 2 \times 10^5, 1 \leq m \leq 10^6),表示小 A 拥有的字符串数量和小 B 拥有的字符串数量。

接下来 nn 行,每行给出一个小写字母构成的字符串 SiS_i (1Si2×105)(1 \leq |S_i| \leq 2 \times 10^5)

接下来 mm 行,每行给出一个小写字母构成的字符串 TiT_i (1Ti1×106)(1 \leq |T_i| \leq 1 \times 10^6)

保证 SiS_i 互不相同,保证 i=1nSi2×105\sum_{i=1}^n |S_i| \leq 2 \times 10^5i=1mTi106\sum_{i=1}^m |T_i| \leq 10^6

输出格式

输出共 mm 行,输出一个整数,表示答案对 109+710^9 + 7 取模后的结果。

3 3
a
ab
abc
aababc
aabababc
ccaaabbb
48
106
73

第九届中国大学生程序设计竞赛高职专场

未参加
状态
已结束
规则
XCPC
题目
12
开始于
2023-10-21 9:00
结束于
2023-10-21 14:00
持续时间
5 小时
主持人
参赛人数
0