#aBC246EX. [ABC246Ex] 01? Queries
[ABC246Ex] 01? Queries
AT_abc246_h [ABC246Ex] 01? Queries
题目描述
给定一个只包含 0、1、? 的长度为 的字符串 。
此外,给定 个查询 。
其中,对于 , 是满足 的整数, 是 0、1、? 中的任意一个字符。
请依次对每个查询 执行以下操作:
- 首先,将 的第 个字符(从前往后数)修改为 。
- 然后,输出将 中所有的
?独立地替换为0或1后,所有可能得到的字符串的(不一定连续的)子序列中,所有可能出现的非空字符串的个数,结果对 取模。
输入格式
输入按以下格式从标准输入给出。
输出格式
输出 行。对于 ,第 行输出第 个查询 的答案(即上述操作 2 中的字符串个数对 取模的结果)。
输入输出样例 #1
输入 #1
3 3
100
2 1
2 ?
3 ?
输出 #1
5
7
10
输入输出样例 #2
输入 #2
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
输出 #2
746884092
532460539
299568633
541985786
217532539
217532539
217532539
573323772
483176957
236273405
说明/提示
限制条件
- 为整数
- 是只包含
0、1、?的长度为 的字符串 - 是
0、1、?中的任意一个字符
样例解释 1
- 第 1 个查询后,。作为 的子序列可能出现的字符串有:
0、1、10、11、110,共 个。因此,第 1 个查询的答案为 。 - 第 2 个查询后,。将
?替换为0或1后得到的字符串为100和110,它们的所有子序列可能出现的字符串有:0、1、00、10、11、100、110,共 个。因此,第 2 个查询的答案为 。 - 第 3 个查询后,。将两个
?替换为0或1后得到的字符串为100、101、110、111,它们的所有子序列可能出现的字符串有:0、1、00、01、10、11、100、101、110、111,共 个。因此,第 3 个查询的答案为 。
样例解释 2
请注意,答案需要对 取模。
由 ChatGPT 4.1 翻译