Module: 波尔


Problem

6 /10


字符串查询

Problem

有一组最初为空的字符串。在这组行上需要处理三种不同的操作:
  • 1 s:将给定的字符串添加到集合中。
  • 2 k l:找出集合中是否有 k 个字符串(不一定不同)具有长度为 l 的公共后缀。此后缀不必是最大的。
  • 3 i:从第 i 个操作中添加的集合中删除字符串(如果尚未删除)。
输入:
第一行包含一个整数——要处理的操作数 q (1 <= q <= 105)。
接下来,每一行都包含对请求的描述。首先是数字 1、2 或 3,表示请求的类型。 
如果这是第一种查询,则下面给出字符串s,总长度不超过105
如果这是第二种类型的查询,则给出两个整数 k 和 l (1 <= k, l <= 105)。
如果这是第三类请求,则给出编号i(1 <= i <=当前操作的编号),其中i为第一类操作的编号。

输出:
对于第二种类型的每个查询,如果存在必要的行,则在单独的行上打印单词“YES”,然后打印“NO”否则。

示例:
  <正文>
输入 输出
9
1 阿巴
1个阿克巴
2 2 2
2 2 3
1 啊啊啊
1 阿巴巴
2 3 2
3 1
2 3 2

没有
是的
没有