题目描述
给定 n 个字符串 s1,s2,⋯,sn。
设 M(s,t) 表示 s 中等于 t 的连续子串的个数,s+t 表示 s,t 拼接在一起形成的字符串。
计算:
$$\sum_{i=1}^n\sum_{j=1}^n\sum_{x=1}^n\sum_{y=1}^n\sum_{p=1}^n\sum_{q=1}^nM(s_i+s_x+s_p,s_j+s_y+s_q)$$
答案对 264 取模。
输入格式
从文件 hvd.in 中读入数据。
第一行一个整数 n。
接下来 n 行每行一个字符串。
输出格式
输出到文件 hvd.out 中。
一行一个整数表示答案。
样例 #1
样例输入 #1
1
a
样例输出 #1
1
i,j,x,y,p,q 全部为 1,此时 si+sx+sp=aaa,sj+sy+sq=aaa,前者有 1 个子串等于后者。
样例 #2
样例输入 #2
2
a
ab
样例输出 #2
12
样例 #3
样例输入 #3
5
a
aa
aaa
abba
bbab
样例输出 #3
2191
样例 #4
见下发文件中的 hvd/hvd4.in 与 hvd/hvd4.ans。
该样例满足子任务 4 的限制。
样例 #5
见下发文件中的 hvd/hvd5.in 与 hvd/hvd5.ans。
该样例满足子任务 5 的限制。
样例 #6
见下发文件中的 hvd/hvd6.in 与 hvd/hvd6.ans。
该样例满足子任务 6 的限制。
样例 #7
见下发文件中的 hvd/hvd7.in 与 hvd/hvd7.ans。
该样例满足子任务 7 的限制。
提示
对字符串 s,设 ∣s∣ 为其长度。设 S=∑i=1n∣si∣。
对于 100% 的数据,1≤n,S≤3×105,字符集为所有小写英文字母,字符串互不相同。
| 子任务 |
n |
S |
字符集 |
特殊性质 |
| 1 |
≤5 |
≤20 |
|
|
| 2 |
≤10 |
≤300 |
| 3 |
≤100 |
≤5000 |
| 4 |
≤1000 |
| 5 |
≤2×105 |
{a} |
| 6 |
≤2×105 |
{a,b} |
A |
| 7 |
|
B |
| 8 |
≤1000 |
|
| 9 |
≤2×105 |
| 10 |
≤3×105 |
- 特殊性质 A:字符串的每一个位置从字符集中等概率随机选取。
- 特殊性质 B:字符串长度 ≤10。
评测时开启合理的子任务依赖,每个子任务分值均为 10 分。