等价序列
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
问题描述
如果两个整数序列 A 和 B 含有的元素个数相同,并且对于任意的 i ,Ai 在 A 中的大小排名与 Bi 在 B 中的大小排名是相等的,那我们称 A 和 B 是等价的。
如 1, 2, 4, 2 与 12, 25, 30, 25 是等价的。
现在给出两个正整数序列 S 和 T,问:S 有多少个连续子序列与 T 是等价的?并输出每个等价子序列的起点在 S 中的下标(下标是从 1 开始计数的)。
输入
第 1 行:三个整数 n , m 和 L,其中 n 和 m 分别表示 S 和 T 的元素个数,L 表示元素值的上限,即 S 和 T 的所有元素均为不超过 L 的正整数。
接下来 n 行:每行一个正整数 Si
接下来 m 行:每行一个正整数 Ti
输出
第 1 行,一个整数 k,表示与 T 等价的 S 的连续子序列的个数。
接下来 k 行,每行一个数,从小到大输出每个等价子序列的起点在 S 中的下标。
样例输入
5 3 1000
1
2
1
3
1
123
456
123
样例输出
2
1
3
数据范围
20% 的数据:1 <= n <= 10,000
100% 的数据: 1 <= m <= n <= 500,000, 1 <= L <= 10,000, 1 <= Si, Ti <= L