#P5840. [COCI2015] Divljak

    编号: 4831 远端评测题 4000ms 768MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>2015线段树树状数组AC 自动机差分COCI

[COCI2015] Divljak

题目描述

Alice 有 nn 个字符串 S1,S2,…,Sn{S}_1, {S}_2, \ldots, {S}_n,Bob 有一个字符串集合 T{T},一开始集合是空的。

接下来会发生 qq 个操作,操作有两种形式:

  1. 1 P:Bob 往自己的集合里添加了一个字符串 P{P}。
  2. 2 x:Alice 询问 Bob,集合 T{T} 中有多少个字符串包含串 Sx{S}_x(我们称串 A{A} 包含串 B{B},当且仅当 B{B} 是 A{A} 的子串)。

输入格式

第一行一个整数 nn。

接下来 nn 行,第 ii 行一个字符串 Si{S}_i。

接下来一行一个整数 qq。

接下来 qq 行,每行一个操作。

输出格式

对每个 2 x 操作,一行一个整数,表示答案。

3
a
bc
abc
5
1 abca
2 1
1 bca
2 2
2 3

1
2
1

提示

对于 100%100\% 的数据,1≤n,q≤1051 \leq n,q \leq 10^5,字符串由小写字母构成,SS 和 PP 的总长分别 ≤2×106\le 2 \times 10^6。