#ABC362G. 子串计数查询

子串计数查询

子串计数查询

题目描述

给定由小写英文字母组成的字符串 SS

另外给定 QQ 个需要依次处理的查询。第 ii 个查询如下:

给出由小写英文字母组成的字符串 TiT_i,输出 SS 中等于 TiT_i 的子串数量。两个子串即使作为字符串相同,只要来自不同位置即视为不同。

输入格式

输入按以下格式从标准输入给出:

SS
QQ
T1T_1
T2T_2
\vdots
TQT_Q

输出格式

输出 QQ 行。第 ii 行应包含第 ii 个查询的答案。

样例

missisippi
5
i
s
a
is
missisippi
4
3
0
2
1

S[l:r]S[l:r] 表示 SS 中从第 ll 个字符到第 rr 个字符的子串。

第 1 个查询:S 中有 4 个子串等于 i,即 S[2:2]S[2:2]S[5:5]S[5:5]S[7:7]S[7:7]S[10:10]S[10:10]

第 2 个查询:S 中有 3 个子串等于 s,即 S[3:3]S[3:3]S[4:4]S[4:4]S[6:6]S[6:6]

第 3 个查询:S 中没有等于 a 的子串。

第 4 个查询:S 中有 2 个子串等于 is,即 S[2:3]S[2:3]S[5:6]S[5:6]

第 5 个查询:S 中有 1 个子串等于 missisippi,即 S[1:10]S[1:10]

aaaaaa
6
a
aa
aaa
aaaa
aaaaa
aaaaaa
6
5
4
3
2
1

数据范围

  • 1S5×1051 \le |S| \le 5 \times 10^5
  • 1Q5×1051 \le Q \le 5 \times 10^5
  • 1TiS1 \le |T_i| \le |S|
  • i=1QTi5×105\displaystyle \sum_{i=1}^Q |T_i| \le 5 \times 10^5
  • SSTiT_i 是由小写英文字母组成的字符串。
  • QQ 是整数。
难度 省选/NOI-
通过率
尝试 0
已通过 0
ID
3360
类型
传统题
Time Limit
3000ms
Memory Limit
1024MiB
上传者
标签