#P1240. 不稳定匹配

不稳定匹配

Description

最近 D 博士在基因研究领域遇到了一个很麻烦的问题,他想要比较两个基因串的相似程度,并且是精确的比较。每个基因串可以被看成一个线性序列,由于研究物种的特殊性,我们可以简单的把基因串看成一个线性整数序列,精确比较即 : 两个基因串相等当且仅当每个基因对应相等。

精确比较是一项非常艰难的工作,因为两个串可能有很多子串有着相似之处,但是他们本身看上去却极为不同,所以 D 博士请求你为他编写一个模拟程序能够让他可以手动来比较。这个模拟程序需要处理的工作如下 : 模拟程序的工作对象是两个基因串 A,BA,B ,并且需要支持 33 种在 AA 上的操作 :

  • INSERT k p : 在 AA 的第 kk 个元素之前插入 pp ,即将 pp 插入为 AA 的第 kk 个元素;
  • DELETE k : 删除 AA 的第 kk 个元素;
  • REVERSE L R : 将 AA 的第 LL 个元素与第 RR 个元素之间(如果 L>RL>R 则需要将两者调换)的元素翻转,即 [AL,AL+1,...,AR][AR,AR1,...,AL][A_L,A_{L+1},...,A_R]\to[A_R,A_{R-1},...,A_L]

模拟程序同时需要回答来自 D 博士的询问,询问以如下形式给出,假设 A=N,B=M:|A|=N,|B|=M :

  • QUERY L R : 询问一个最大值 tt ,使得 AA 的子串 A=[AL,AL+1,...,AN]A'=[A_L,A_{L+1},...,A_N]BB 的子串 B=[BR,BR+1,...,BM]B'=[B_R,B_{R+1},...,B_M] 的前 tt 个元素在精确比较的定义下相等(也就是最长公共前缀)。

Input Format

第一行两个正整数 N,MN,M ,分别表示初始时刻基因串 A,BA,B 的长度;

第二行 NN 个整数描述 AA ,第三行 MM 个整数描述 BB ,我们保证基因是不大于 10410^4 的非负整数;

第四行是四个整数 S1,S2,S3,S4S_1,S_2,S_3,S_4 ,分别表示操作 INSERT,DELETE,REVERSE,QUERY 的次数。

然后 S1+S2+S3+S4S_1+S_2+S_3+S_4 行每行描述一个操作,分别是给定的三种基于 AA 的操作或者询问中的一种,格式如题所示。

Output Format

对于每一个 QUERY 操作,输出其相应的答案。

数据范围

本题共有 10 组输入数据,以下给出各组输入数据的具体范围 :

测试点编号 NN MM S1S_1 S2S_2 S3S_3 S4S_4 时间限制
1 1010 22 1s
2 10210^2 1010 55
3 10310^3 10210^2 1010
4 10410^4 10310^3 10210^2
5 10510^5 10410^4 10310^3
6 4×1044\times 10^4 3s
7 5×1055\times 10^5 10410^4
8 10610^6 5s
9 10510^5 10410^4 10s
10