luogu#P11150. [THUWC 2018] 字胡串
[THUWC 2018] 字胡串
题目背景
来源:https://www.gitlink.org.cn/thusaa/thuwc2018。
2018 清华大学信息学冬季体验营(THUWC 2018)D1T3。。
我希望你明白,优秀的出题人是懒得写题目背景的。但是优秀的题目也可能需要让选手了解一些基本定义, 例如以下这些内容, 而熟练的算法竞赛选手几乎可以无视。
对于一个字符串 , 我们定义 表示 的长度。接着,我们定义 表示 中第 个字符, 表示由 中从左往右数,第 个字符到第 个字符依次连接形成的字符串。特别的,如果 ,或者 ,或者,则我们可以认为 为空串。
我们再定义两个字符串 和 的加法, 为将 字符串整体连接在 的最后一个字符后面得到的大字符串。
例如,我们可以认为 aaaa
bbbb
aaaabbbb
。
我们不难发现,上述定义的加法满足结合律,但不满足交换律。
最后,我希望你还能明白,字典序是什么。
为了让你明白字典序是什么,你还需要明白前缀是什么。我们说一个字符串 是另一个字符串 的前缀,当且仅当存在一个整数 ,使得 与 是完全相同的字符串。
对于两个不同的字符串 和 ,如果 是 的一个前缀,则我们认为在字典序下, ; 如果 是 的前缀,则我们认为在字典序下,。 否则,我们总能找到一个最小的 , 使得 , 如果 , 则我们认为在字典序下,,否则 。
题目描述
现在给出一个长度为 的字符串 。 在此基础上,我会进行 次询问。
对于第 ()次的询问,我们会给出一个非空字符串 , 并希望你找出一个最小的 (), 使得 的字典序最小。 对于每个询问,你只需要输出你找到的这个 即可。
输入格式
从标准输入读入数据。
第一行有两个用空格隔开的整数 , 分别代表字符串 的长度,以及询问次数。
第二行给出一个长度为 的字符串,表示字符串 。
第三行到第 行, 每行会给出一个非空字符串, 第 行所给出的字符串表示 。
输出格式
输出到标准输出。
对于每个询问,请输出一行一个整数表示你所找到的最小的 ()。
6 2
000001
00
01
0
5
提示
子任务
测试点编号 | 其他约定 | |||
---|---|---|---|---|
无 | ||||
无 | ||||
对于所有测试数据,,,$1 \leq \sum \limits _{i=1}^{Q} \left|B^{(i)}\right| \leq 10^6$,输入的字符串全部由数字组成。
此外,我们保证,对于所有测试数据, 不会小于其在该测试点对应上界的 。