这道题问的是一个序列,出现最长的相同的没有重叠的序列,这里所谓的相同,是指给前一个序列加上一个整数,能够变成后一个序列。
只要将原序列相邻两项相减,判断新序列最长的相同的没有重叠的序列即可,不过答案要加1,。因为n个数相减保存差值少了一个。
有重叠的话直接取下height数组的最大值即可。没有重叠将height数组的按照height>=k划分成若干组,这样就保证跨组是不能选的,因为LCP(i,j)=min{LCP(k-1,k)} i+1<=k<=j
此时跨组的那个height[t]
这道题问的是一个序列,出现最长的相同的没有重叠的序列,这里所谓的相同,是指给前一个序列加上一个整数,能够变成后一个序列。
只要将原序列相邻两项相减,判断新序列最长的相同的没有重叠的序列即可,不过答案要加1,。因为n个数相减保存差值少了一个。
有重叠的话直接取下height数组的最大值即可。没有重叠将height数组的按照height>=k划分成若干组,这样就保证跨组是不能选的,因为LCP(i,j)=min{LCP(k-1,k)} i+1<=k<=j
此时跨组的那个height[t]