#YBT00353. 字符串匹配
时间限制1000 ms
内存限制256 MiB
通过率100%1 / 1 次提交
题目描述
对于一个字符集大小为的字符串,可以将任意两个字符在中的位置进行互换,例如,交换得到,交换得到,交换可以进行任意次。若交换后变成了字符串,则成与是匹配的。 给定两个字符集大小为的字符串,求出中有多少个连续子串与匹配。
输入
第一行两个整数,分别表示数据组数和字符集大小,字符用的整数来表示。 对于每组数据:第一行两个整数,分别表示的长度。 第二行n个正整数表示。 第三行m个正整数表示。
输出
对于每组数据,输出包括两行: 第一行一个正整数,表示中有个连续子串与匹配。 第二行从小到大输出个数,表示中与匹配的连续子串的首位下标(下标从1开始)。
输入样例
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
提示
【数据规模及约定】 对于10%的数据,满足; 对于另外20%的数据,满足; 对于另外30%的数据,满足; 对于100%的数据,满足。
评测数据说明
本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共8个测试点,非原站或官方原始数据。总分100分。