您的位置:首页 > 其它

后缀数组模板-boj477.新来的小妹妹 & boj477. 田田背课文

2014-08-08 02:15 645 查看


boj477. 新来的小妹妹

时间限制 6000 ms 内存限制 65536
KB


题目描述

Mays王国的女王大人每天过着自由自在的生活,她最大的乐趣就是给邻国的帅气王子写信。而负责给她送信的就是皇家小妹妹快递公司。

今天负责给女王大人送信的是一个新来的小妹妹,她非常好奇女王大人的信,于是悄悄的把它拆开来看了!但是机智的女王大人早就想到了会有这种情况发生,她和邻国帅气王子的信都是加密过的~

小妹妹研究了一路,她感觉,里面重复比较多的内容应该是有用信息。为了安慰自己的智商,小妹妹希望找到信的一个最长连续的子串,这个子串出现2次或以上。为了能找到的子串尽可能长,小妹妹认为即便出现的2次有一部分重叠也是可以的。


输入格式

输入第一行为数据组数T(T<=10),每组一行字符串str,str中只包含小写字母,且长度不超过2000。



输出格式

每组答案输出一行。


输入样例

[code]2
aabbaabbaa
abcde



输出样例

[code]6
0



boj477. 田田背课文

时间限制 10000 ms 内存限制 65536
KB


题目描述

田田被老师要求背诵一个字符串,田田刚刚背了一个子串,说他记性差他还不承认,背下这个子串后却忘了这个子串是从哪里开始的。

现在田田把这个字符串给你,并且让你告诉他至少一次背多长的子串才不可能产生歧义,即不存在另一个子串与它相等


输入格式

输入仅一行,即要求田田背诵的字符串

长度<=10^6


输出格式

输出一行,即不产生歧义串的最小串长


输入样例

[code]abcdabcd



输出样例

[code]5


对于这两道题,我送你一句话:知模板者昌,忘模板者亡。

核心应该算height[]数组吧,毕竟记录了lcp(最长公共前缀),也就是重复的子串长

对第一道题,就是求可重复最长子串;对第二道题,就是求不能重复的最短串,换言之就是求height数组里没有出现的最小整数。

模板我就不放代码了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: