#1949. [ABC246Ex] 01? Queries
[ABC246Ex] 01? Queries
题目描述
给你一个长度为 的字符串 ,它由 0、1 和 ?组成。
同时,我们还给出了 查询 。
在每个 中, 是一个满足 的整数, 是字符 0, 1 和 ?中的一个。
对于按此顺序排列的 来说,查询 的过程如下。
- 首先,将第 个字符改为 。
- 然后,打印在将 中出现的每个
?分别替换为0或1之后,作为 的子序列(不一定连续)的非空字符串的个数,模数为 。
输入格式
第一行输入
第二行输入字符串
接下来 行每行两个分别是
输出格式
输出一共输出 行
3 3
100
2 1
2 ?
3 ?
5
7
10
40 10
011?0??001??10?0??0?0?1?11?1?00?11??0?01
5 0
2 ?
30 ?
7 1
11 1
3 1
25 1
40 0
12 1
18 1
746884092
532460539
299568633
541985786
217532539
217532539
217532539
573323772
483176957
236273405
样例 1 解释
- 第 个查询从将 改为
110。作为 的子序列,可以得到五个字符串110:0,1,10,11,110.因此,第 个查询 回答 。 - 第 个查询是将 改为
1?0。通过 中的?1?0中的?可以得到两个字符串:100和110。其中一个字符串的子串可以得到七个字符串:0,1,00,10,11,100,110。因此, 第 个查询应该由 来回答。 - 第 个查询首先要把 改为
1??。通过 中的1??里的?可以得到 :100,101,110,111。其中一个字符串的子串可以得到十个字符串:0,1,00,01,10,11,100,101,110,111。因此, 第 个查询的答案应该是 。
提示
- 和 是整数。
- 是长度为 的字符串,由
0、1和?组成。 - 是字符
0,1, 和?中的一个。