#ABC314D. 大小写转换

大小写转换

大小写转换

题目描述

给定一个由大写和小写英文字母组成、长度为 NN 的字符串 SS

对字符串 SS 执行 QQ 次操作。第 ii 次操作(1iQ1 \le i \le Q)由两个整数和一个字符组成的三元组 (ti,xi,ci)(t_i, x_i, c_i) 表示,具体如下:

  • 如果 ti=1t_i = 1,将 SS 的第 xix_i 个字符改为 cic_i
  • 如果 ti=2t_i = 2,将 SS 中的所有大写字母转换为小写(此操作不使用 xi,cix_i, c_i)。
  • 如果 ti=3t_i = 3,将 SS 中的所有小写字母转换为大写(此操作不使用 xi,cix_i, c_i)。

输出执行完 QQ 次操作后的 SS

输入格式

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

NN
SS
QQ
t1t_1 x1x_1 c1c_1
t2t_2 x2x_2 c2c_2
\vdots
tQt_Q xQx_Q cQc_Q

输出格式

在一行内输出答案。

样例

7
AtCoder
5
1 4 i
3 0 a
1 5 b
2 0 a
1 4 Y
atcYber

初始时字符串 SS 为 AtCoder。

第一次操作将第 44 个字符改为 i,SS 变为 AtCider。

第二次操作将所有小写字母转换为大写,SS 变为 ATCIDER。

第三次操作将第 55 个字符改为 b,SS 变为 ATCIbER。

第四次操作将所有大写字母转换为小写,SS 变为 atciber。

第五次操作将第 44 个字符改为 Y,SS 变为 atcYber。

操作结束后,字符串 SS 为 atcYber,因此输出 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

数据范围

  • 1N5×1051 \le N \le 5 \times 10^5
  • SS 是长度为 NN、由大写和小写英文字母组成的字符串。
  • 1Q5×1051 \le Q \le 5 \times 10^5
  • 1ti31 \le t_i \le 31iQ1 \le i \le Q
  • 如果 ti=1t_i = 1,则 1xiN1 \le x_i \le N1iQ1 \le i \le Q)。
  • cic_i 是大写或小写英文字母。
  • 如果 ti1t_i \neq 1,则 xi=0x_i = 0ci=c_i = 'a'。
  • N,Q,ti,xiN, Q, t_i, x_i 均为整数。
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
3032
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签