5716. qiyue的回文树

【问题描述】

qiyue平时训练就很喜欢写串串的题目,有一天他学到了一种新的数据结构叫回文树,能一次性找出一个串里的所有回文子串,他觉得很开心,就跑去找kangdi聊天去了,kangdi:“我觉得你这个数据结构不错,不过都2019年了怎么还有人看回文串这种无趣的东西呢……这样子吧,我希望你能扩展一下这个数据结构,找到一个串中所有不完全回文子串。”qiyue:”那是啥…”kangdi:“我们设一个串T的长度为|t|,则一个不完全回文子串指的是对于一个串中前半部分奇数位置i( (|t|+1)/2>=i>=1 ) T中的第i个位置字符和第|t|-i+1个字符都相等的串,比如"abaa", "a", "bb", "abbbaa",“aaa”就是不完全回文子串,"ab", "bba" and "aaabaa",就啥也不是,我感觉这样的子串挺多的,你别一一列出来了,我只想问你字典序第k小的串是啥,如果一个子串出现了多次就统计多次”qiyue感觉这个问题他没啥头绪,你能帮帮他吗?

字典序:对于两个字符串,显然的做法是先按照第一个字母、以 abc……z 的顺序排列;如果第一个字母一样,那么比较第二个、第三个乃至后面的字母。如果比到最后两个单词不一样长(比如,sigh sight),那么把短者排在前。


【输入形式】

第一行输入一个字符串 字符串长度不超过4000,输入仅有a,b两种字符,由于qiyue不太会造数据,所以数据随机生成。

【输出形式】

输入一个整数k,代表询问字典序第k小子串(保证字符串中不完全回文子串不超过k个)

【样例输入1】

aaaaaaa
20

【样例输出1】

aaaa

【样例输入2】

aaabababab
15

【样例输出2】

aba


【样例输入3】

abaa
6

【样例输出3】

abaa

【时间和空间限制】

时间限制:4s

空间限制:512MB

 

难度等级: 0
总通过次数: 0
总提交次数: 6