公共子序列
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
E - 公共子序列
分数:500分
问题描述
给定两个整数序列和,长度分别为和,均由到(含)之间的整数组成。 有多少对的子序列和的子序列在内容上是相同的? 这里,的子序列是指通过从中移除零个或多个元素,并按原顺序连接剩余元素得到的序列。 对于和,如果被移除元素的索引集合不同,即使子序列内容相同,我们也视为不同的子序列。 由于答案可能非常大,请将结果对取模后输出。
约束条件
- 的长度为。
- 的长度为。
- 输入中的所有值均为整数。
输入
输入从标准输入按以下格式给出:
N M S_1 S_2 ... S_{N-1} S_N T_1 T_2 ... T_{M-1} T_M
输出
输出满足条件的子序列对的数量,即的子序列和的子序列在内容上相同的对数,结果对取模。
样例输入1
2 2
1 3
3 1
样例输出1
3
有四个子序列:、、、。 有四个子序列:、、、。 有对子序列均为,对子序列均为,对子序列均为,总计三对。
样例输入2
2 2
1 1
1 1
样例输出2
6
有四个子序列:、、、。 有四个子序列:、、、。 有对子序列均为,对子序列均为,对子序列均为,总计六对。
再次注意,如果被移除元素的索引集合不同,即使子序列内容相同,我们也视为不同的子序列。
样例输入3
4 4
3 4 5 6
3 4 5 6
样例输出3
16
样例输入4
10 9
9 6 5 7 5 9 8 5 6 7
8 6 8 5 5 7 9 9 7
样例输出4
191
样例输入5
20 20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
样例输出5
846527861
请确保输出结果对取模。