AT_abc434_g.[ABC434G] Keyboard
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于一个只包含 1、2、…、9 和 B 的字符串 A,定义 f(A) 为通过以下过程得到的字符串:
- 初始有一个空字符串 C。
- 依次对 i=1,2,…,∣A∣ 进行如下操作:
- 如果 Ai 是
1、2、…、9,则将 Ai 加到 C 的末尾。 - 如果 Ai=B,则删除 C 的最后一个字符。如果 C 为空则不进行操作。
- 如果 Ai 是
- 完成所有操作后,将 C 作为 f(A)。
给定一个长度为 N 的字符串 S,由 1、2、…、9 和 B 组成。现在要处理 Q 个如下描述的查询,每个查询有两种类型:
- 1 x c :将 Sx 更新为 c。(c 为
1、2、…、9或B) - 2 l r :取 S 的第 l 到第 r 个字符组成字符串 T,令 U=f(T)。如果 U 为空串,输出 −1;否则,将 U 视为十进制整数后对 998244353 取余,输出结果。
输入格式
输入通过标准输入给出,格式如下,其中 queryi 表示第 i 个查询:
N Q S
query1
query2
⋮
queryQ
每个查询格式如下两种之一:
1 x c
2 l r
输出格式
对于每个查询类型为 2 的操作,按照题面要求用换行分隔依次输出答案。
输入输出样例
输入#1
10 12 1234567891 2 5 7 2 2 8 2 1 10 1 3 B 1 4 B 2 2 4 2 2 8 2 1 10 1 7 B 2 3 9 1 3 4 2 1 10
输出#1
567 2345678 236323538 -1 5678 567891 589 125891
说明/提示
样例解释 1
对于第一个查询,T=U=567,输出 567。
对于第三个查询,T=U=1234567891,输出 1234567891mod998244353=236323538。
对于第六个查询,T=2BB,U 为空串,输出 −1。
约束条件
- 1≤N≤8×106
- 1≤Q≤2×105
- S 为长度为 N 的字符串,仅包含
1、2、…、9和B - 1≤x≤N
- c 为
1、2、…、9或B - 1≤l≤r≤N
- N,Q,x,l,r 都为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?