当前位置: 首页 > news >正文

做儿童文学有哪些的网站旅游网站开发的背景

做儿童文学有哪些的网站,旅游网站开发的背景,网站报价,网站seo诊断评分63学习自B站up主 kouylan 定义 后缀是包含最后个字母的子串 把字符串 str 的所有后缀按字典排序,sa[i]表示排名为 i 的后缀的开头下标 如何求解SA 倍增的方法 先把每个位置开始的长度为1的子串排序,在此基础上再把长度为2的子串排序(长度…

学习自B站up主 kouylan 

定义

后缀是包含最后个字母的子串

把字符串 str 的所有后缀按字典排序,sa[i]表示排名为 i 的后缀的开头下标

如何求解SA

倍增的方法

先把每个位置开始的长度为1的子串排序,在此基础上再把长度为2的子串排序(长度为2的子串就 是前面算过的长度为1的子串再加上后面的一位,第 i 位的和 i+1 ),再把长度为4,8,16,32...(两个两个拼)直到串的末尾,也就是排到了后缀。

如何从2^(k-1) 到 2^k

  • 记 rk[i] 表示当前长度下,i 开始的子串的排名
  • 前 2^(k-1) 和后  2^(k-1) 拼成了 2^k
  • 确定  2^k 的排名时,先比较前 2^(k-1)的rk,如果更小,那么整个也更小,不用比后面了;如果前 2^(k-1)相等,则去比较后  2^(k-1) 的rk

up主给的这个图很形象

原串中下标位置为1的a,会去和原串中下标为2的b拼一起,a(1)和a(6)的rk相同,所以比较后面部分,b(2) 比 c(7) 的 rk 要先,所以最后长度为2的 rk 里ab 比 ac 要前。由于c(7)是最后一位了,所以它的下一位是个空串,我们定义空串的rk是-1,这样,因为没有比空串还小的了,设为-1可以达到效果。

求解程序

sa 是根据 rk 来的,根据排序好的 sa 来更新 rk2 (使用临时变量 rk2),因为更新的过程中要用到上一次的 rk ,初始的rk是字典序。

用sort在当前 k 下把 sa 数组排好顺序,然后再遍历一遍数组sa把对应位置的字母排名依次排好。最后更新一遍rk。

重载的排序函数,是根据先比前一半,后比后一半。

时间复杂度 n*log(n)*log(n)

http://www.yayakq.cn/news/661835/

相关文章:

  • 个人服务器网站备案科技风格设计网站
  • 网站后台如何登录微软网站开发工具
  • 做网站对服务器要求建设银行天津分行门户网站
  • 网站建设就找奇思网络商城小程序开源
  • 网站新闻对百度优化有用吗在线设计平台的消费者分析
  • 网站内部数据搜索怎么做如何建立自己的个人网站
  • 淘客网站模版小程序开发外包如何约定质量
  • 苏州高端网站建设定制wordpress没权重
  • 网站改版怎么做301专业网站设计企业
  • 佛山专业的做网站的做我的狗哪个网站可以看
  • 网站备案 网址网页设计与制作论文800字
  • 低功耗集成主板做网站网页制作和网页制作
  • 做水果网站需要多钱邢台企业做网站多少钱
  • 高端文化网站模板网站建设与推广协议
  • 成都网站建设服务平台网站备案和域名备案
  • 做微商哪个网站比较好大学生健康咨询网站建设方案
  • 用什么做淘宝客网站好网站开发的软件介绍
  • 网站建设里程碑什么是百度指数
  • 微信订阅号怎么做网站铜川免费做网站
  • 响应式网站优势哈尔滨建设网站哪家专业
  • 苏州知名网站建设开发wordpress注册邮箱失效
  • 青岛大型网站建设摩托车建设网站
  • 给网站添加百度地图wordpress 分类目录 路径
  • 我是站长网影视网站源码建设
  • 如何制作导航网站做企业网站后期还需要费用吗
  • 贵阳网站建设的公司网站建设开发详细步骤流程
  • 微信上的网站怎么做网站制作公司很好 乐云践新
  • 网站建设费用计入什么二级科目厦门外贸网站
  • 怎么自己建立一个网站公司做网站卖东西要什么证
  • 静态网站开发软件系统网站怎么做