#P6080. [USACO05DEC] Cow Patterns G

[USACO05DEC] Cow Patterns G

题目描述

Farmer John 的 NN1N1051 \leq N \leq 10^5)头奶牛中出现了 KK1K250001 \leq K \leq 25000)只坏蛋!这些坏蛋在奶牛排队的时候总站在一起。现在你需要帮助 FJ 找出他们。

为了区分,FJ 给每头奶牛发了号牌,上面写着一个 1S1 \ldots S 之间的数字(1S251 \leq S \leq 25),虽然这不是个完美的方法,但也有一定作用。现在 FJ 记不得坏蛋们的具体号码,但他给出了一个模式串。原坏蛋的号码相同,模式串中的号码依旧相同,模式串中坏蛋号码的大小关系也和原号码相同。

例如模式串:1,4,4,3,2,11,4,4,3,2,1,原来的 66 只坏蛋,最前面和最后面的号码相等且最小(不一定是 11),位置 2,32,3 的坏蛋号码相同且最大(不一定是 44)。

现在有这样一个队列:5,6,2,10,10,7,3,2,95, 6, 2, 10, 10, 7, 3, 2, 9,它的子串 2,10,10,7,3,22, 10, 10, 7, 3, 2 匹配模式串的相等关系和大小关系,这就可能是一个坏蛋团伙。

请找出所有团伙的可能情况。

输入格式

第一行三个整数 N,K,SN,K,S

接下来 NN 行,每行一个整数,代表第 ii 奶牛的编号。

接下来 KK 行,每行一个整数,表示模式串中第 ii 个位置的号码。

输出格式

第一行输出一个整数 BB

接下来 BB 行,每行一个整数,为一种可能的坏蛋团伙的起始位置。

所有位置按升序输出。

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