#P5005. 「长乐集训 2017 Day2」字符串匹配
「长乐集训 2017 Day2」字符串匹配
Description
对于一个字符集大小为 的字符串 我们可以将任意两种字符在 中的位置进行互换,例如 ,我们交换 就变为 ,交换 就变为 ,交换可以进行任意次。若交换后 变为字符串 ,我们称 是匹配的。
现在给定两个字符集大小为 的字符串 请你求出 中有多少个连续子串与 是匹配的。
Input Format
第一行两个整数 表示数据组数和字符集大小,字符用 的整数表示。
每组数据第一行两个整数 表示 的长度与 的长度。
第二行 个正整数表示字符串 。
第三行 个正整数表示字符串 。
Output Format
对于每组数据输出两行。
第一行一个整数 ,表示 中有多少个连续子串与 是匹配的。
第二行从小到大输出 个整数,表示 中与 匹配的子串的首位置 (从 开始编号)。
Sample
样例输入
3 3
6 3
1 2 1 2 3 2
3 1 3
6 3
1 2 1 2 1 2
3 1 3
6 3
1 1 2 1 2 1
3 1 3
样例输出
3
1 2 4
4
1 2 3 4
3
2 3 4
Hint
的数据,
另有 的数据,
另有 的数据,
的数据,