#1949. [ABC246Ex] 01? Queries
[ABC246Ex] 01? Queries
题目描述
给你一个长度为 的字符串 ,它由 0
、1
和 ?
组成。
同时,我们还给出了 查询 。
在每个 中, 是一个满足 的整数, 是字符 0
, 1
和 ?
中的一个。
对于按此顺序排列的 来说,查询 的过程如下。
- 首先,将 -th 字符从 的开头改为 。
- 然后,打印在将 中出现的每个
?
分别替换为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
, 和?
中的一个。