#2761. P3374 - 字符串的魔法变换
P3374 - 字符串的魔法变换
题目描述
在一个风和日丽的周末,编程竞赛社团的成员们聚集在校园的计算机实验室里,准备迎接一场紧张刺激的编程挑战。社团的主席,一位对算法和数据结构充满热情的学长,向社团成员们宣布了今天的挑战题目——“字符串的魔法变换”。
题目是这样的:社团主席给定了一个由大小写英文字母组成的长字符串S
,长度在1到10^5个字符之间。社团成员们需要编写一个程序,来应对两种类型的操作:
- 查询操作:成员们需要回答在给定的下标区间
[l, r]
内,有多少种不同的字母。这里的“不同”是指忽略大小写的不同,比如'A'和'a'被视为同一种字母。 - 修改操作:成员们需要将字符串中下标为
a
的字符改为另一个给定的字母b
。
社团成员们被告知,他们将面对q
次操作,每次操作都是上述两种类型之一,且q
的范围也是1到10^5。
为了赢得这场挑战,社团成员们需要设计一个高效的算法来处理这些操作。他们知道,这不仅仅是一个编程问题,更是一个团队协作和智力的考验。每个成员都开始思考如何利用数据结构和算法来优化程序的性能。
在紧张而充满创意的氛围中,成员们开始编写代码,尝试不同的解决方案。有的成员专注于优化查询操作,有的则在思考如何快速处理修改操作。他们互相讨论,互相帮助,共同面对这个挑战。
随着时间的推移,一些成员开始展示他们的初步成果,而其他人则在这些基础上进一步改进。最终,他们不仅找到了解决问题的方法,还学到了如何在压力下进行团队合作,以及如何在有限的时间内解决复杂问题。
这场编程挑战不仅锻炼了成员们的编程技能,也增强了他们的团队精神和解决问题的能力。当挑战结束时,每个人都感到收获满满,期待着下一次的社团活动。
输入格式
输入第一行包含了一个长度不超过的字符串,该字符串只含有大小写字母。
输入第二行有一个整数 , 表示进行操作的次数 。
接下来有 行,每一行的操作和问题描述的格式一样. 保证至少有一个查询。
输出格式
对于每一次查询, 输出对应区间 内不同种类字母的数量。
AbAcaBa
5
query 1 4
do 4 b
do 5 b
query 4 6
query 1 7
3
1
2
数据范围 对于的数据,, ,。
对于的数据,, ,。