loj#P2525. 「HAOI2018」字串覆盖
「HAOI2018」字串覆盖
题目描述
小C对字符串颇有研究,他觉得传统的字符串匹配太无聊了,于是他想到了这样一个问题.
对于两个长度为 的串 , 小C每次会给出给出 个参数 . 令 从 到 的子串(从 开始标号)为 ,令 从 到 的子串为 .然后他会进行下面的操作:
如果 的某个子串与 相同,我们就可以覆盖 的这个子串,并获得 的收益,其中 是初始时 中(注意不是 中)这个子串的起始位置,是给定的参数.一个位置不能被覆盖多次.覆盖操作可以进行任意多次,你需要输出获得收益的最大值.
注意每次询问都是独立的,即进行一次询问后,覆盖的位置会复原.
输入格式
第一行两个整数 ,表示字符串长度和参数.
接下来一行一个字符串 .
接下来一行一个字符串 .
接下来一行一个整数 ,表示询问个数.
接下来 行,每行四个整数 ,表示一次询问.
输出格式
输出 行,每行一个整数,表示一个询问的答案.
10 11
abcbababab
ababcbabab
5
1 9 7 9
3 10 8 10
1 10 1 2
5 7 2 3
1 5 3 6
6
10
22
5
10
数据范围与提示
对于所有数据,有 , 仅由小写英文字母组成,$1 \le s \le t \le n, 1 \le l \le r \le n, n < K \le 10^9$.
对于 的测试点,满足 的询问不超过 个,且 在该区间内均匀随机.