5248:L2-4 小丑夜宴

时间限制:3 S   /  内存限制:65536 KB
AC:5   /  Submit:17
问题描述

血色帷幕缓缓拉开,你发现自己被囚禁在哥特式剧场的青铜鸟笼里。对面高台上坐着头戴荆棘王冠的小丑,他手中把玩着$$n$$张流淌着暗金色纹路的神秘卡牌,每张都封印着古老的字母秘符。

"亲爱的祭品,让我们开始字母轮舞曲吧~"小丑用匕首般的指尖依次点亮卡牌,幽蓝火焰中显现出小写字母,随后将卡牌堆叠成闪烁的序列。

在你后颈发凉的瞬间,小丑突然抛出硬币:"接下来进行$$m$$次命运轮盘!每次硬币停转时——"他咧开猩红的嘴角:

1.若硬币面呈骷髅,我将选择牌堆上两段 不相交 的区间,让它们完成交换

2.若硬币面呈蔷薇,你必须立即说出某个区间内特定字母的个数

整个空间开始渗出鲜血,你看见之前的失败者变成卡牌背面的浮雕:"答错半次,你的灵魂就将永远封印在第$$n+1$$张卡牌里。"

输入描述

第一行是一个正整数$$n$$表示卡牌数量。($$1 \le n \le 2 \times 10^5$$)

第二行是一个长度为$$n$$的字符串表示卡牌上的字母,下标从$$1$$开始。

第三行是一个正整数$$m$$表示操作次数。($$1 \le m \le 10^5$$)

接下来$$m$$行,每行描述一个操作。格式如下:

SWAP $$l_1\ r_1\ l_2\ r_2$$:交换区间$$[l_1,r_1]$$与$$[l_2,r_2]$$的卡牌。($$1 \le l_1 \le r_1 \lt l_2 \le r_2 \le n$$)

QUERY $$x\ y\ c$$:查询区间$$[x,y]$$内字符$$c$$的出现次数。($$1 \le x \le y \le n$$)

保证卡牌上的字母和询问的字母 均为小写

输出描述

对每个 QUERY 操作,输出一个整数表示查询结果。

样例输入复制样例

5

pyhap

3

SWAP 1 2 3 5

QUERY 1 3 a

QUERY 2 4 p

样例输出

1

2

提示说明

对样例的 pyhap 进行一次区间 [1,2] 和 [3,5] 的交换,使其变成 happy

交换操作可以认为是选择了两部分牌,把他们整体进行交换,所以这两段区间的长度可能不相同。

对于第一次查询,区间 [1,3] 中 字母 a 的出现次数,也就是 hap 中 a 的个数为 1

对于第二次查询,区间 [2,4] 中 字母 p 的出现次数,也就是 app 中 p 的个数为 2

建议使用较快的输入输出方式。

相关

2025天梯赛校内选拔赛


Copyright 2016 - 2025 XUJC ACM Team
闽ICP备2020022076号-1