关于后缀间$LCP$的一些公式的证明

关于(LCP)有如下两个公式:

  • (LCP~Lemma:) 对任意 (1le i<j<kle n) ,存在 (LCP(i,k)=min{LCP(i,j),LCP(j,k)}) 成立。
  • (LCP~Theorem:) 对任意 (i<j),存在 (LCP(i,j)=^{~~~~~min}_{i+1 le k le j}{LCP(k-1,k)}) 成立。

(LCP~Lemma) 的证明:

设 $$p=min{LCP(i,j),LCP(j,k)}$$
则有 $$LCP(i,j) ge p,LCP(j,k) ge p$$
可得 $$LCP(i,k) ge p$$
又设 $$LCP(i,k)=q>p$$
(Suffix_i)(Suffix_k)(q)个字符相同。即:$$Suffix_{i,1}=Suffix_{k,1}$$ $$Suffix_{i,2}=Suffix_{k,2}$$ $$…$$ $$Suffix_{i,q}=Suffix_{k,q}$$
而 $$min{LCP(i,j),LCP(j,k)}=p$$
说明 $$Suffix_{i,p+1}!=Suffix_{j,p+1} ext{或}Suffix_{j,p+1}!=Suffix_{k,p+1}$$
那么一定有如下式子成立 $$Suffix_{i,p+1}!=Suffix_{k,p+1}$$
于是,(q>p)不成立,即$$LCP(i,k) le p$$
于是$$LCP(i,k)=p=min{LCP(i,j),LCP(j,k)}~~ ext{得证。}$$

(LCP~Theorem) 的证明:

(LCP~Lemma)得:$$LCP(i,j)=min{LCP(i,i+1),LCP(i+1,j)}$$
又:$$LCP(i+1,j)=min{LCP(i+1,i+2),LCP(i+2,j)}$$
经归纳得:$$LCP(i,j)=^{min}_{i<k le j}{LCP(k-1,k)} ext{得证。}$$

原文地址:https://www.cnblogs.com/lzxzy-blog/p/12214423.html