#L3874. 「PA 2020」Tekstówka

    ID: 3577 传统题 2000ms 256MiB 尝试: 3 已通过: 1 难度: 10 上传者: 标签>动态规划字符串其他分治预处理区间查询四维DP最长公共子序列字符串匹配矩阵

「PA 2020」Tekstówka

「PA 2020」Tekstówka

题目描述

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

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

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

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

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

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

输入格式

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

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

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

接下来 qq 行,每行四个整数 i,j,k,li, j, k, l (1ijn,1klm1 \leq i \leq j \leq n, 1 \leq k \leq l \leq 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 \leq 600; 对于一些其他的子任务,满足 n,m600n, m \leq 600; 对于一些其他的子任务,满足 q5103q \leq 5 \cdot 10^3。 对于上述情况,至少有一个子任务满足。