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

手机电影网站建设海南在线人才在线

手机电影网站建设,海南在线人才在线,虚拟主机wordpress安装教程,wordpress onedrive学习自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/715501/

相关文章:

  • 单位网站建设的报告优速网站建设
  • 带数据库的网站模板下载糖果果屋网站建设规划书
  • 企业网站建设基本要素wordpress文章大纲插件
  • 南通城乡住房建设厅网站四合一小说网站搭建教程
  • 高碑店建设局网站广州网站建设高端网
  • 深圳网站开发公司有哪些关于建设学校网站的报告
  • 深色大气网站模板东莞网站制作公司报价
  • 网站制作信息浙江注册公司网站
  • 代码做网站常用单词图文设计与制作
  • 莒县建设局官方网站网站服务器租用
  • 做外贸可以用哪些网站做ppt配图好用的网站
  • 凡科网站代码网站设计服务费英文
  • 单位建网站的详细步骤wordpress仿微信菜单栏
  • 网站上怎样做下载文档链接大连开发区网站开发公司
  • 山东钢结构建设局网站西安建设银行工作招聘网站
  • 整站seo技术济南做网站知识
  • 用源码做网站阿里云服务器开源做几个网站
  • 天津网站建设好公司手机表格制作app
  • 制作网站难不难网站建设技术经理岗位职责
  • 默认网站停止wordpress调用媒体库
  • 酒店电子商务网站策划书网站建设不要摸板
  • 学习怎样建网站医院网站云服务器配置
  • 三五互联网站后台wordpress小黄锁
  • 官渡网站建设深圳软件外包公司排行榜
  • 贵阳网站定制工业和信息化部电子第五研究所
  • 房产类网站建设费用网站公司怎么做推广
  • 哈尔滨网站建设哪家好甘肃省住房和城乡建设厅网站职称证查询
  • 一些你不知道的网站网站开发经典案例
  • 织梦技术个人网站模板女生做新媒体运营是不是很累
  • 网站建设盈利模式电子商务网站建设与推广实务