H. [ABC246Ex] 01? Queries

    传统题 6000ms 1024MiB

[ABC246Ex] 01? Queries

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

AT_abc246_h [ABC246Ex] 01? Queries

题目描述

给定一个只包含 01? 的长度为 NN 的字符串 SS

此外,给定 QQ 个查询 (x1,c1),(x2,c2),,(xQ,cQ)(x_1, c_1), (x_2, c_2), \ldots, (x_Q, c_Q)
其中,对于 i=1,2,,Qi = 1, 2, \ldots, Qxix_i 是满足 1xiN1 \leq x_i \leq N 的整数,cic_i01? 中的任意一个字符。

请依次对每个查询 (xi,ci)(x_i, c_i) 执行以下操作:

  1. 首先,将 SS 的第 xix_i 个字符(从前往后数)修改为 cic_i
  2. 然后,输出将 SS 中所有的 ? 独立地替换为 01 后,所有可能得到的字符串的(不一定连续的)子序列中,所有可能出现的非空字符串的个数,结果对 998244353998244353 取模。

输入格式

输入按以下格式从标准输入给出。

NN QQ
SS
x1x_1 c1c_1
x2x_2 c2c_2
\vdots
xQx_Q cQc_Q

输出格式

输出 QQ 行。对于 i=1,2,,Qi = 1, 2, \ldots, Q,第 ii 行输出第 ii 个查询 (xi,ci)(x_i, c_i) 的答案(即上述操作 2 中的字符串个数对 998244353998244353 取模的结果)。

样例 1

输入

3 3
100
2 1
2 ?
3 ?

输出

5
7
10

样例 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

输出

746884092
532460539
299568633
541985786
217532539
217532539
217532539
573323772
483176957
236273405

说明/提示

限制条件

  • 1N,Q1051 \leq N, Q \leq 10^5
  • N,QN, Q 为整数
  • SS 是只包含 01? 的长度为 NN 的字符串
  • 1xiN1 \leq x_i \leq N
  • cic_i01? 中的任意一个字符

样例解释 1

  • 第 1 个查询后,S=110S = 110。作为 S=110S = 110 的子序列可能出现的字符串有:011011110,共 55 个。因此,第 1 个查询的答案为 55
  • 第 2 个查询后,S=1?0S = 1?0。将 ? 替换为 01 后得到的字符串为 100110,它们的所有子序列可能出现的字符串有:01001011100110,共 77 个。因此,第 2 个查询的答案为 77
  • 第 3 个查询后,S=1??S = 1??。将两个 ? 替换为 01 后得到的字符串为 100101110111,它们的所有子序列可能出现的字符串有:0100011011100101110111,共 1010 个。因此,第 3 个查询的答案为 1010

样例解释 2

请注意,答案需要对 998244353998244353 取模。

由 ChatGPT 4.1 翻译

新初三新高二20260828上午测试

未参加
状态
已结束
规则
XCPC
题目
8
开始于
2026-8-28 8:30
结束于
2026-8-28 11:30
持续时间
3 小时
主持人
参赛人数
11