https://www.cnblogs.com/victorique/p/8480093.html
学习了这篇bolg
LCP Lemma
LCP(i,k)=min(LCP(i,j),LCP(j,k)) 对于任意1<=i<=j<=k<=n
感觉直接想也能想到这个证明,就是suff(sa[i]),suff(sa[k])的最长公共前缀,而suff(sa[i])与suff(sa[k])相同的前缀肯定不如
suff(sa[i])与suff(sa[j]),suff(sa[k])与suff(sa[j])或相同的多,因为sa[i]是按后缀排序的,序离得远,相似度肯定小,所以上述等式显然成立。
LCP Theorem
LCP(i,k)=min(LCP(j,j-1)) 对于任意1<i<=j<=k<=n
这里跟刚才一样,j,j-1离得更近了LCP肯定不会小,所以上述成立
https://www.cnblogs.com/zwfymqz/p/8413523.html#_label1_0
这篇是找的很多篇中过程解析最清楚的
https://blog.csdn.net/a1035719430/article/details/80217267
这篇是找的很多篇中代码解析最清楚的
上面2个结合看应该就没问题了