#P9109. [PA 2020] Tekstówka

[PA 2020] Tekstówka

题目描述

题目译自 PA 2020 Runda 4 Tekstówka

在去年我们在某社交网络的粉丝页上进行的 PA 中,参与者大声地问我们:「题呢?」。今年,我们决定满足您的期望。

给出了由英文小写字母组成的字符串 ss 和 tt。令 si,j (1≤i≤j≤∣s∣)s_{i,j}\ (1\le i\le j\le |s|) 表示由 ss 的第 ii 个到第 jj 个(包含两端)字符依次组成的子串。我们也同样定义 ti,jt_{i,j}。

你的任务是处理 qq 次查询。每次查询用四个整数 i,j,k,li,j,k,l 表示,这里 1≤i≤j≤∣s∣,1≤k≤l≤∣t∣1\le i\le j\le |s|,1\le k\le l\le |t|。对于每次查询,你需要输出子串 si,js_{i,j} 和子串 tk,lt_{k,l} 的最长公共子序列。

注:一个字符串的子序列是指一个字符串通过删除一些(可能不删除)字符且不改变剩余字符顺序得到的串。例如,potyczki\texttt{potyczki} 的子串可以是 tyki\texttt{tyki} 或 pi\texttt{pi},但不能是 koty\texttt{koty}。

我们称字符串 aa 和 bb 的公共子序列为既是 aa 的子序列,又是 bb 的子序列的子序列。

我们称字符串 aa 和 bb 的最长公共子序列为 aa 和 bb 的子序列中最长的一个。

输入格式

输入第一行包含三个整数 n,m,qn,m,q,分别表示 ss 串和 tt 串的长度与询问次数。

第二行包含一个由小写英文字母组成且长为 nn 的字符串 ss。

第三行包含一个由小写英文字母组成且长为 mm 的字符串 tt。

接下来 qq 行,每行四个整数 i,j,k,li,j,k,l,意义如题目描述。

输出格式

输出 qq 行,每行一个整数,表示对询问的回答。

5 6 7
abaab
babbaa
1 5 1 6
1 3 2 4
2 5 2 5
1 4 2 5
2 5 3 6
2 2 5 6
3 4 2 2
4
2
2
3
3
0
1

提示

数据范围

本题采用捆绑测试

  • 对于一些子任务,满足 n,m,q≤600n,m,q\le 600;
  • 对于一些其他的子任务,满足 n,m≤600n,m\le 600;
  • 对于一些其他的子任务,满足 q≤5×103q\le 5\times 10^3。

对于上述情况,至少有一个子任务满足。

对于 100%100\% 的数据,保证 1≤n,m≤3×1031\le n,m\le 3\times 10^3,1≤q≤1051\le q\le 10^5,1≤i≤j≤n1\le i\le j\le n,1≤k≤l≤m1\le k\le l\le m。