LOWER
题目描述
给你一个长度为 N 的字符串 S,由大小写英文字母组成。
对字符串 S 执行 Q 次操作。
第 i 次操作 (1≤i≤Q) 由一个包含两个整数和一个字符的三元组 (ti,xi,ci) 表示,定义如下。
如果 ti=1,将 S 的第 xi 个字符改为 ci。
如果 ti=2,将 S 中的所有大写字母转换为小写字母(此操作不使用 xi,ci)。
如果 ti=3,将 S 中的所有小写字母转换为大写字母(此操作不使用 xi,ci)。
在 Q 次操作之后输出 S。
输入格式
输入按照下列格式从标准输入给出:
N
S
Q
t1 x1 c1
t2 x2 c2
⋮
tQ xQ cQ
输出格式
在一行中输出答案。
7
AtCoder
5
1 4 i
3 0 a
1 5 b
2 0 a
1 4 Y
atcYber
35
TheQuickBrownFoxJumpsOverTheLazyDog
10
2 0 a
1 19 G
1 13 m
1 2 E
1 21 F
2 0 a
1 27 b
3 0 a
3 0 a
1 15 i
TEEQUICKBROWMFiXJUGPFOVERTBELAZYDOG
提示
1≤N≤5×105
S 是一个长度为 N 的由大小写英文字母组成的字符串。
1≤Q≤5×105
1≤ti≤3 (1≤i≤Q)
如果 ti=1,则 1≤xi≤N (1≤i≤Q)。
ci 是一个大写或小写英文字母。
如果 ti=1,则 xi=0 且 ci= ′a′。
N,Q,ti,xi 都是整数。最初,字符串 S 为 AtCoder。
第一次操作将第 4 个字符改为 i,将 S 变为 AtCider。
第二次操作将所有小写字母转换为大写字母,将 S 变为 ATCIDER。
第三次操作将第 5 个字符改为 b,将 S 变为 ATCIbER。
第四次操作将所有大写字母转换为小写字母,将 S 变为 atciber。
第五次操作将第 4 个字符改为 Y,将 S 变为 atcYber。
操作结束后,字符串 S 为 atcYber,因此输出 atcYber。
标签: AtCoder|abc314D
来源
AtCoder|abc314D