问题 5380 --公共子序列(seq)

5380: 公共子序列(seq)

时间限制: 1 Sec  内存限制: 128 MB
提交: 41  解决: 7
[提交][状态][命题人:]

题目描述

有 k 个序列 a[1],a[2],...,a[k] ,每个序列的长度都是 n ,并且每个元素都是 1 到 n 之间等概率随机生成的整数。

问这 k 个串有多少个长度大于 0 的公共子序列。在每个序列中都选出一些【位置】,并将这些位置对应的数字依次拼起来,当它们都相等时,称其为公共子序列。

答案可能很大,输出对 10^9+7 取模的结果。

输入

第一行两个整数 k,n 。
接下来 k 行,每行 n 个整数 a[i,j] 表示序列,序列随机生成。

输出

一个整数,表示答案。
样例输入
Copy
3 3
1 2 3
2 3 1
1 2 3
样例输出
Copy
4

提示

数据规模
共 10 个测试点。
测试点 1,2 满足 k=2 。
测试点 3,4 满足 k=3 。
测试点 5,6 满足 n≤50 。
对于所有数据,满足 2≤k≤5, 1≤n≤3000 。

来源

[提交][状态]