zoukankan      html  css  js  c++  java
  • 关于后缀间$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{得证。}$$

  • 相关阅读:
    codeforces 1215 E Marbles-----状压DP
    留坑待填
    Catalan数
    砝码称重
    约数和
    硬币题解
    迎春舞会之数字舞蹈
    过剩数
    猜测棋局
    [NOIP普及组2014第三题]螺旋矩阵
  • 原文地址:https://www.cnblogs.com/lzxzy-blog/p/12214423.html
Copyright © 2011-2022 走看看