题目大意
n, m, k, q <= 1e5
∑|w|<=1e5
1s, 512M
题解
这题的关键是要抓住“ ∑|w|<=1e5 ”这个条件。
于是我们分 k<=1e5−−−√ 和 k>1e5−−−√ 两种情况来做。
当
k<=1e5−−−√
时:
我们暴力枚举每个
w
的每一个子串,然后求出该子串在
当
k>1e5−−−√
时:
此时的
q<=1e5−−−√
,因此直接求出每个询问子串的出现次数即可。
求一个串在 s <script type="math/tex" id="MathJax-Element-19">s</script> 中的出现次数可以用 SA 或 SAM。
代码
//懒得打了