#P4493. [HAOI2018] 字串覆盖

[HAOI2018] 字串覆盖

题目描述

小 C 对字符串颇有研究,他觉得传统的字符串匹配太无聊了,于是他想到了这样一个问题。

对于两个长度为 nn 的串 A,BA,B,小 C 每次会给出给出 44 个参数 s,t,l,rs,t,l,r。令 AAsstt 的 子串(从 11 开始标号)为 TT,令 BBllrr 的子串为 PP。然后他会进行下面的操作:

如果 TT 的某个子串与 PP 相同,我们就可以覆盖 TT 的这个子串,并获得 KiK-i 的收益,其中 ii 是初始时 AA 中(注意不是 TT 中)这个子串的起始位置,KK 是给定的参数。一个位置不能被覆盖多次.覆盖操作可以进行任意多次,你需要输出获得收益的最大值。

注意每次询问都是独立的,即进行一次询问后,覆盖的位置会复原。

输入格式

第一行两个整数 n,Kn,K 表示字符串长度和参数。

接下来一行一个字符串 AA

接下来一行一个字符串 BB

接下来一行一个整数 qq,表示询问个数。

接下来 qq 行,每行四个整数 s,t,l,rs,t,l,r 表示一次询问。

输出格式

输出 qq 行,每行一个整数,表示一个询问的答案.

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

提示

样例 11 解释

对于所有数据,有 1n,q1051\le n,q\le 10^5A,BA,B 仅由小写英文字母组成,1stn 1\le s\le t\le n1lrn 1\le l\le r\le nn<K109n<K\le 10^9。 HAOI2018 round1 T3

对于 n=105 n = 10^5 的测试点,满足 51rl2×10351\le r−l\le2\times 10^3 的询问不超过 1100011000 个,且 l,rl,r 均匀随机

数据范围