#bzoj2372. music

    ID: 2659 远端评测题 1000ms 256MiB 尝试: 2 已通过: 0 难度: 7.11 上传者: 标签>字符串KMP数据结构Hashing特殊题目Remote Judgebzoj

music

题目描述

最近AABB两国发生了一场战争,dick\text{dick},作为AA国的军事总指挥,最近非常头痛于己方的情报问题。因为BB国最近雇佣了Easy\text{Easy}这一位密码专家来给他们的所有通讯加密。

dick\text{dick}是一个非常喜欢唱歌,于是他决定将所有的信号都变成旋律储存起来,比如说1155665443322111556654433221就可能是一段加过密的音符,我们用一个等长度的序列来表示它,就变成了1,1,5,5,6,6,1,1,5,5,6,6\ldots,\ldots。为了增加密码的保密性,他把加密的乐谱又调整了一下,把某些音调改变了,将原序列AA变成BB,有A=B|A| = |B|,且对于ai=aja_i = a_jbi=bjb_i = b_j、对ai<aja_i < a_jbi<bjb_i < b_j、对ai>aja_i > a_jbi>bjb_i > b_j。那么11221112215577555775就可能代表了同一段音符。

最近,dick\text{dick}截获了一段信号,这段信号中可能包含了某些重要信息。根据以往的经验,dick\text{dick}已经知道了某些旋律所代表的意义,于是dick\text{dick}想知道,对于一段已知的旋律,能不能判断它是否在这段截获的旋律中出现?如果出现了,能否找出它出现的次数及位置呢?

任务

判断给定旋律在截获旋律中出现的次数及位置。

输入格式

本题只有一组数据。

第一行三个正整数n,m,s,nn,m,s,n是截获旋律的长度,mm是已知旋律的长度,所有的旋律都是[1..s][1..s]的正整数;

然后nn个整数描述截获旋律AA

然后mm个整数描述已知旋律BB

输出格式

第一行一个整数tottot,表示出现的次数。

然后tottot行,按照从小到大给出出现时的起始位置pp(即有A[pp+m1]A[p\ldots p + m – 1]等价于BB)。

样例

9 6 10
5
6
2
10
10
7
3
2
9
1
4
4
3
2
1
1
3

数据规模与约定

对于100%100\%的数据:n100000,m25000,s25n \le 100000,m\le 25000,s\le 25