ZOJ 3199 Longest Repeated Substring 后缀数组 + RMQ预处理
题目大意:给定多个长度不超过50000的字符串,求最长的重复子串的长度,最长重复子串s定义为,在s出现之后紧跟这又出现一次的串(两次出现相邻但没有交集)大致思路:很容易想到用后缀数组来做,从长到短枚举长度即可,由于长度为L的串必定覆盖s[0],s[L],s{2*L]...s[k*L]中的恰好一个,所以就可以用一个很常见的枚举来O(nlogn)解决这个问题了细节见代码注释吧代码如下:Result :