Three strings
题意翻译
给出三个仅由小写字母构成的串$A, B, C$
对于每个$L \in [1, \min(len_A,len_B,len_C)]$,求满足$A[a,a+L-1] = B[b,b+L-1] = C[c,c+L-1]$的三元组$(a,b,c)$的数量,答案对$1000000007 (10 ^ 9 + 7)$取模
字符总数小于$3\times10^5$
感谢@daklqw 提供的翻译
题目描述
You are given three strings $ (s_{1},s_{2},s_{3}) $ . For each integer $ l $ $ (1<=l<=min(|s_{1}|,|s_{2}|,|s_{3}|) $ you need to find how many triples ( $ i_{1},i_{2},i_{3} $ ) exist such that three strings $ s_{k}[i_{k}...\ i_{k}+l-1] $ $ (k=1,2,3) $ are pairwise equal. Print all found numbers modulo $ 1000000007 (10^{9}+7) $ .
See notes if you are not sure about some of the denotions used in the statement.
输入输出格式
输入格式
First three lines contain three non-empty input strings. The sum of lengths of all strings is no more than $ 3·10^{5} $ . All strings consist only of lowercase English letters.
输出格式
You need to output $ min(|s_{1}|,|s_{2}|,|s_{3}|) $ numbers separated by spaces — answers for the problem modulo $ 1000000007 (10^{9}+7) $ .
输入输出样例
输入样例 #1
abc
bc
cbc
输出样例 #1
3 1
输入样例 #2
abacaba
abac
abcd
输出样例 #2
11 2 0 0
说明
Consider a string $ t=t_{1}t_{2}...\ t_{|t|} $ , where $ t_{i} $ denotes the $ i $ -th character of the string, and $ |t| $ denotes the length of the string.
Then $ t[i...\ j] $ $ (1<=i<=j<=|t|) $ represents the string $ t_{i}t_{i+1}...\ t_{j} $ (substring of $ t $ from position $ i $ to position $ j $ inclusive).