Matching on Array

Accepts: 5
Submissions: 153
Time Limit: 4000/2000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
Alice有一个大小为$n$的正整数序列$\{a_1, a_2, \dots, a_n\}$。Bob也有一些正整数序列。Alice想要知道对于Bob的每个序列,他们在Alice的序列中出现的总次数是多少。

对于两个序列$A$和$B$,如果$A$中有一个连续子序列在乘以某个缩放系数之后和$B$一样的话,那么$B$在$A$中出现。

例如,$A=\{2,4,8,16\}, B = \{1, 2\}$, 那么$B$在$A$中出现了3次。对应$A$中的子序列为$\{2, 4\}$, $\{4,8\}$和$\{8, 16\}$,缩放系数分别是 0.5, 0.25和0.125。
输入描述
输入第一行包含一个整数$T\ (1 \le T \le 30)$表示测试数据组数。对于每组数据:

第一行包含两个整数$n$和$m$  $(1 \le n, m \le 100000)$,分别表示Alice的序列大小和Bob拥有的序列的个数。接下来一行包含$n$个整数,$a_1, a_2, \dots, a_n$,表示Alice的序列。接下来$m$行,每行的第一个数是$k_i (1 \le k_i \le 300000)$表示这个序列的大小。接下来$k_i$个用空格分开的正整数,表示这个序列。

保证所有$k_i$的和小于等于1000000。其他整数范围介于1和10000之间(包括1和10000)。
输出描述
对于每组数据,输出一个整数表示出现的总次数。
输入样例
2
4 1
2 4 8 16
2 1 2
5 3
2 4 2 4 6
3 1 2 1
1 5
2 16 8
输出样例
3
7