#THU20262B. 遗迹信号

遗迹信号

题面下载

样例下载

时间限制: 2.0 秒

空间限制: 512 MB

题目背景

在探索“曙梦星海”的深处时,通讯雷达捕获到了一段来自未知古老文明的遗迹信号。首席解密官小研正在对这段由大写字母组成的加密波段进行清洗与重组。

题目描述

给定一个长度为 nn 的字符串 ss(代表初始信号),只包含大写字母,字符坐标分别按 1,,n1,\cdots,n 排列。小研会依次进行 mm 次操作对信号进行解析,每种操作为以下三种之一:

  1. 1 l r c1\ l\ r\ c:在信号坐标频段的 [l,r][l,r] 范围内,扫描字符 cc 最早出现的位置坐标,若不存在则返回 1-1
  2. 2 l r c2\ l\ r\ c:进行信号覆写,将 [l,r][l,r] 范围内的所有字符全部修改为 cc
  3. 3 l r3\ l\ r:进行信号重组,将 [l,r][l,r] 范围内的所有字符按照字母表顺序重新排序。

输入格式

从标准输入读入数据。

第一行输入两个整数 n,mn,m

第二行输入一个长度为 nn 的字符串 ss

接下来 mm 行,每行描述一次小研的具体操作。

输出格式

输出到标准输出。

对于每一次类型为 11 的查询操作,输出一行一个整数,表示查询的位置结果。

10 5
ABCDABCDCD
1 1 3 A
3 1 5
1 1 3 A
2 1 2 B
1 2 3 B
1
1
2

样例 1 解释

操作步数 操作要求 操作后序列 输出结果
0 ABCDABCDCD
1 输出 [1,3][1,3]A 最早出现的位置坐标 11
2 [1,5][1,5] 排序 AABCDBCDCD
3 输出 [1,3][1,3]A 最早出现的位置坐标 11
4 [1,2][1,2] 全部字符修改为 B BBBCDBCDCD
5 输出 [2,3][2,3]B 最早出现的位置坐标 22

子任务

对于所有数据:

  • n,m105n,m\le 10^5
  • 1lrn1\le l\le r\le n
  • 出现的字符全部为大写字母([A-Z]

本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。

子任务编号 分值 n,mn,m\le 特殊性质
1 30 10310^3
2 20 10510^5 只有操作 1
3 5×1045\times 10^4
4 30 10510^5