#P2237. [USACO14FEB] Auto-complete S

[USACO14FEB] Auto-complete S

题目描述

有 ww 个由小写字符构成的字典和 nn 个询问。每个询问由一个字符串 ss 和一个整数 kk 构成,求在字典序排序下字典内由 ss 为前缀的第 kk 字符串在输入字典的位置。若不存在,则输出 −1-1。

输入格式

第 11 行是两个整数 ww 和 nn。

第 22 行到第 w+1w+1 行为字典中的第 i−1i-1 个,每行由字符串构成(ii 指输入的第 ii 行)。

第 w+2w+2 行到第 w+n+1w+n+1 行由一个整数 kk 和一个字符串 ss 构成。

输出格式

第 11 行到第 nn 行是对于每个询问的结果,由一个整数构成。

10 3
dab
ba
ab
daa
aa
aaa
aab
abc
ac
dadba
4 a
2 da
4 da
3
1
-1

提示

对于 100%100\% 的数据,w≤30000w \le 30000,1≤n≤30001\le n \le 3000,字典内每个字符串的长度均小于等于 10001000,且字典的单词总长不超过 10610 ^ 6。

样例解释:

对于第 11 个询问,含义为在字典中找到以 a 为前缀且按字典序排序后第 44 个字符串,而字典中以 a 为前缀且按字典序排序后为 {\{ aa,aaa,aab,ab,abc,ac }\},第 44 个是 ab,其在输入中为第 33 个,故输出为 33。

同理,对于第 22 个和第 33 个询问是在字典中找到以 da 为前缀且按字典序排序后的第 22 和第 44 个字符串。而以 da 为前缀的字符串按字典序排序后为 {\{daa,dab,dadba }\},故第 22 个为 dab ,其在输入中为第 11 个,故第 22 个输出为 11,而该序列中没有第 44 个,故第 33 个询问无解,输出 −1-1。

来源:USACO 2014 Feburary Contest Silver

翻译:

/user/289296