#P2922. [USACO08DEC] Secret Message G

[USACO08DEC] Secret Message G

题目描述

贝茜正在领导奶牛们逃跑。为了联络,奶牛们互相发送秘密信息。

信息是二进制的,共有 MM1M500001 \le M \le 50000)条,反间谍能力很强的约翰已经部分拦截了这些信息,知道了第 ii 条二进制信息的前 bib_i1bi100001 \le b_i \le 10000)位,他同时知道,奶牛使用 NN1N500001 \le N \le 50000)条暗号.但是,他仅仅知道第 jj 条暗号的前 cjc_j1cj100001 \le c_j \le 10000)位。

对于每条暗号 jj,他想知道有多少截得的信息能够和它匹配。也就是说,有多少信息和这条暗号有着相同的前缀。当然,这个前缀长度必须等于暗号和那条信息长度的较小者。

在输入文件中,位的总数(即 bi+ci\sum b_i + \sum c_i)不会超过 5×1055 \times 10^5

输入格式

11 行:两个整数 MMNN

接下来 MM 行,其中的第 ii 行:一个整数 bib_i,后跟 bib_i 个空格分隔的“0”和“1”,描述截取的消息 ii

接下来 NN 行,其中的第 jj 行:一个整数 cjc_j,后跟 cjc_j 个空格分隔的“0”和“1”,描述暗号 jj

输出格式

NN 行,第 ii 行表示第 ii 个暗号可以匹配的消息数。

4 5 
3 0 1 0 
1 1 
3 1 0 0 
3 1 1 0 
1 0 
1 1 
2 0 1 
5 0 1 0 0 1 
2 1 1 

1 
3 
1 
1 
2 

提示

四条消息;五条暗号。截获的消息以 0101100110 开头。可能的暗号以 01010100111 开头。

0:匹配 010: 11 个匹配。

1:匹配 110011033 个匹配。

01:匹配 01011 个匹配。

01001:匹配 01011 个匹配。

11: 匹配 111022 个匹配。