#THU20194B. 字符串集合
字符串集合
时间限制: 2.5 秒
空间限制: 512 MB
题目描述
给定一个允许重复的字符串集合 ,你需要执行两种不同的操作。
-
加入操作
- 指令格式为
ADD <string> <int>
。其中<string>
为一个待录入的字符串,<int>
为一个介于 和<string>
字符串长度之间的正整数。 - 你需要将录入字符串
<string>
中所有长度为<int>
的连续子串加入集合 。 - 例如:
ADD aaab 2
表示将分割后的子串结果 全部加入集合 中。
- 指令格式为
-
查询操作
- 指令格式为
QUERY <string> <string>
。其中前一个<string>
为起始查询字符串,后一个<string>
为终止查询字符串。你需要返回一个整数,代表集合 中字典序介于起始查询字符串和终止查询字符串之间(包括起始和终止查询字符串)的字符串个数。
- 指令格式为
输入格式
从标准输入读入数据。
输入的第一行为一个正整数 ,表示指令行数。
接下来 行,每行为一个指令,格式见【题目描述】。
输出格式
输出到标准输出。
输出若干行,每行一个整数,先后对应每次查询操作返回的结果。
4
ADD aaab 2
QUERY aa ab
ADD abc 1
QUERY a b
3
5
样例 1 解释
执行第一个指令后,。
执行第二个指令,有 个元素满足条件。
执行第三个指令,。
执行第四个指令,有 个元素满足条件。
子任务
设单个测试数据中所有录入字符串和查询字符串的长总和为 ,对于所有数据,保证:
- ;
- 所有录入字符串和查询字符串仅包含小写字母;
- 每次插入操作输入的数字长度在 到录入字符串长度之间(包括边界)。
本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。
- 子任务 1(20 分):保证 ;
- 子任务 2(30 分):保证 ,且字符串集合 中的所有字符串长度均不大于 ;
- 子任务 3(30 分):保证 ;
- 子任务 4(20 分):无特殊限制。
Related
In following contests: