题目
问题描述
我们伟大的领袖 V 成功地找到了自己被赋予力量的意义——既然有如此强大的能力,就应该去守护人们的幻想。
一个人的幻想是一个字符串,幻想是在不断变化的,所以可能会在末尾加上一个字符或者删去一个字符。为了守护幻想, V 需要知道在字符串中第$L$个字符(字符由$1$开始编号)到第$R$个的串中存在多少个 V 给定的串。
输入格式
第一行一个字符串表示初始幻想。
第二行一个整数$q$表示操作数量。
接下来$q$行,每行第一个数$k$表示操作类型。
若$k=1$,接下来是一个字符表示在幻想末尾加上这个字符。
若$k=2$,表示删除当前末尾字符。
若$k=3$,接下来两个整数$L, R$,表示一次询问,接下来读入一个字符串表示询问串。
保证字符串只含有小写字母和大写字母,小写字母a
到z
的编号是$0$到$25$,大写字母A
到Z
编号是$26$到$51$。
这是一个紧急事件, V 需要立刻知道询问的答案,所以进行强制在线。我们记录上一次询问的答案为$Last$(初始为$0$),那么读入$L$和$R$需要异或$Last$ 得到真实的$L$和$R$。对于一个字符,我们设它的编号是$t$,那么真实的编号是$(t+Last)\%52$,$\%$表示取模。
输出格式
对于每个询问输出一行表示这个询问的答案。
样例输入
ababa
5
3 1 4 ab
1 Z
3 3 4 YZ
2
3 2 6 X
样例输出
2
3
3
样例解释
第一次询问$1$到$4$串abab
中有多少ab
,答案是$2$
第二次操作后的串是ababab
第三次询问$1$到$6$串ababab
中有多少ab
,答案是$3$
第四次操作后的串是ababa
第五次询问$1$到$5$串ababa
中有多少a
,答案是$3$
数据范围与约定
记询问串总长为$Len$,幻想串最长长度为$Max$。
对于$20\%$的数据$Max,q\leq 5000,Len \leq 100000$
对于另外$20\%$的数据$Max,q\leq 100000,Len \leq 500000$
对于另外$20\%$的数据不存在$1$操作
对于另外$20\%$的数据$Len \leq 500000$
对于$100\%$的数据$Max \leq 200000,q \leq 500000,Len \leq 5000000$
输入量较大,请使用快速的输入输出方式。
题解
(稍后再补)
代码
(稍后再补)