zoukankan      html  css  js  c++  java
  • 后缀数组学习笔记 ------height 数组的应用

    (height) 数组的应用

    • 求两个子串的最长公共前缀

      引理:(lcp(sa[i],sa[j]) = min(height[i+1...j]))

      可用 (RMQ) 求解

    • 比较一个字符串的 两个子串的大小关系

      (A= S[a...b])(B = S[c...d])

      如果 (lcp(a,c)>=min(A,B)) ,那么 (|A|<|B|)(A<B)

      否则,如果 (rk[a]<rk[b]) ,则 (A<B)

    • 计算不同子串的数量

      (ans = frac{n*(n+1)}{2} - sum_{i=2}^n height[i])

  • 相关阅读:
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    COM对象
  • 原文地址:https://www.cnblogs.com/EchoZQN/p/14402221.html
Copyright © 2011-2022 走看看