时间限制 : - MS   空间限制 : - KB 
问题描述

"人类智慧的冰峰,只有萌萌哒的我寂寞地守望。"
--TB
TB正走在改造人类智慧基因的路上。TB发现人类智慧基因一点也不萌萌哒,导致人类普遍智商过低,为了拯救低智商人群,博爱的TB开始改造人类智慧基因。人类智慧DNA由C种人类智慧脱氧核苷酸构成(这是一种十分特殊的DNA)。

TB智慧DNA片段T长度为M,她可以把另一段长度为M的人类智慧DNA片段S改造成T。

改造过程中,TB可以充分发挥智慧,将任意两种人类智慧脱氧核苷酸交换(比如对于片段S=12321,交换1和2变成S=21312,交换1和4变成42324),可以无限次交换。如果S可以通过若干次交换变成T,那么就称S为"萌萌哒人类基因片段"。

TB想知道对于一个长度为N的人类智慧DNA片段S[1 ~ N],有多少个长度为M的连续子片段S[i ~ i+M-1],是"萌萌哒人类基因片段",并且这些"萌萌哒人类基因片段"在哪里。

输入格式

第一行包含两个正整数case和C,分别表示数据组数和人类智慧脱氧核苷酸的种数。

接下来3*case行,每三行表示一组数据:
第一行一个正整数N和M,表示人类智慧DNA片段S和TB智慧DNA片段T的长度。
第二行N个正整数,表示人类智慧DNA片段S。
第三行M个正整数,表示TB智慧DNA片段T。

对于所有数据数据,case=3, n,m,C<=100000

输出格式

对于每组数据:
第一行一个正整数tot,表示"萌萌哒人类基因片段"的个数。
接下来一行tot个用空格隔开的正整数pos,表示"萌萌哒人类基因片段"开头所在的位置。要求从小到大输出每个pos。

样例输入

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

提示

对于第一组数据:
S[ 1 ~ 3]=121,可以先将1和2交换变成212,再将2和3交换变成313。
S[2 ~ 4]=212,可以将2和3交换变成313。
S[4 ~ 6]=232,可以先将2和3交换变成323,再将1和2交换变成313。

最新文章

  1. Hive on Spark安装配置详解(都是坑啊)
  2. hdu 1003
  3. Log4j 配置数据库连接池(将日志信息保存到数据库)
  4. Common scenarios to avoid in OLTP
  5. 在Flex4中使用RemoteObjectAMF0来连接fluorine网关 转
  6. HDOJ/HDU 2700 Parity(奇偶判断~)
  7. Getting Text Metrics in Firemonkey(delphiscience的博客)
  8. win8商店应用验证,二进制文件是在调试模式下生成的解决方案。
  9. UIScrollView的布局
  10. 近期Mac上编译geany软件的总结
  11. IntelliJ IDEA(九) :酷炫插件系列
  12. synchronized的四种作用域以及不能被继承解析
  13. Python3+Selenium2完整的自动化测试实现之旅(一):自动化测试环境搭建
  14. webToImage (网页转图片)模块试用分享
  15. ZooKeeper基础
  16. Mac OS X 避免产生临时文件 .DS_Store
  17. SVM的sklearn实现
  18. PHP:第三章——PHP中的回调函数
  19. 牛客网NOIP赛前集训营-普及组(第二场)
  20. Oracle PL/SQL编程之变量

热门文章

  1. blender 2.8 [学习笔记-04] 编辑模式-网格拆分
  2. Cinemachine简介
  3. iview2+ 表单密码验证
  4. cocoapods安装以及ZXingObjC的安装
  5. Idea安装教程以及环境变量配置
  6. 01-if条件语句之数字比较
  7. Excel 电子表格中,快速修改表格中的数值
  8. Linux中MySQL二进制安装步骤
  9. 为了弄懂Flutter的状态管理, 我用10种方法改造了counter app
  10. Redis(十二):redis请求转发的实现