#CSES2102. 查找子串

    ID: 336 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>字符串后缀自动机SAM子串匹配CSES分支结构

查找子串

题目背景

翻译自 CSES-2102 题。

题目描述

给定一个字符串和多个子串,检查每个子串是否出现在字符串中。

输入格式

第一行包含一个长度为 nn 的字符串。

第二行包含一个整数 kk,表示子串的数量。

接下来有 kk 行,每行包含一个子串。

字符串和子串中的字符都由小写字母 aza–z 组成。

输出格式

对于每个子串,如果该子串出现在字符串中,输出 YES;否则输出 NO

样例

aybabtu
3
bab
abc
ayba
YES
NO
YES

数据范围

  • 1n1051 \le n \le 10^5
  • 1k5×1051 \le k \le 5 \times 10^5
  • 所有子串的总长度最多为 5×1055 \times 10^5