#P3874. 「PA 2020」Tekstówka

「PA 2020」Tekstówka

题目描述

题目译自 PA 2020 Runda 4 Tekstówka

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

给出了由英文小写字母组成的字符串 sstt。令 si,j (1ijs)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 表示,这里 1ijs,1klt1\le i\le j\le |s|,1\le k\le l\le |t|。对于每次查询,你需要输出子串 si,js_{i,j} 和子串 sk,ls_{k,l} 的最长公共子序列。

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

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

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

输入格式

输入第一行包含三个整数 n,m,q (1n,m3103,1q105)n,m,q\ (1\le n,m\le 3\cdot 10^3,1\le q\le 10^5),分别表示 ss 串和 tt 串的长度与询问次数。

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

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

接下来 qq 行,每行四个整数 i,j,k,l (1ijn,1klm)i,j,k,l\ (1\le i\le j\le n,1\le k\le l\le m),意义如题目描述。

输出格式

输出 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,q600n,m,q\le 600
  • 对于一些其他的子任务,满足 n,m600n,m\le 600
  • 对于一些其他的子任务,满足 q5103q\le 5\cdot 10^3

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