zoukankan      html  css  js  c++  java
  • 【后缀数组】不相同的字串个数

    spoj改版后好囧……

    不相同的子串的个数(spoj694,spoj705)
    给定一个字符串,求不相同的子串的个数。
    算法分析:
    每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相
    同的前缀的个数。如果所有的后缀按照 suffix(sa[1]), suffix(sa[2]),
    suffix(sa[3]), …… ,suffix(sa[n])的顺序计算,不难发现,对于每一次新加
    进来的后缀 suffix(sa[k]),它将产生 n-sa[k]+1 个新的前缀。但是其中有
    height[k]个是和前面的字符串的前缀是相同的。所以 suffix(sa[k])将“贡献”
    出 n-sa[k]+1- height[k]个不同的子串。累加后便是原问题的答案。这个做法
    的时间复杂度为 O(n)。

  • 相关阅读:
    脚本
    vim 马哥
    动态删除节点
    动态插入节点
    动态创建内容
    获取html元素内容
    设置元素的属性
    获取元素的属性
    jquery中:input和input的区别
    jQuery选择器总结
  • 原文地址:https://www.cnblogs.com/autsky-jadek/p/4461994.html
Copyright © 2011-2022 走看看