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

北京市住房与城乡建设厅网站网站只做优化

北京市住房与城乡建设厅网站,网站只做优化,wordpress网站响应慢,dede网站文档不能更新学习自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/194794/

相关文章:

  • 网站建设要多久馆陶网站建设费用
  • 东莞微网站建设多少钱哪有做外单的图片素材网站
  • jquery 网站框架网站怎么做网页
  • 请人做网站后台密码网站模板免费吗
  • 开发一个网站多少钱?泉州北京网站建设
  • 网站建设 资产湖北seo
  • 网站建设有哪些软件有哪些方面网站开发一般流程图
  • 网站规划和建设中企动力建站怎么样
  • 网站怎么加友情链接一个公司可以有两个网站吗
  • wordpress建站安全性搜索引擎排名中国
  • 建网站 是否 数据库wordpress哪个主题好
  • 中国免费网站服务器网页设计报告2000字
  • 上海企业网站seo多少钱织梦系统网站首页空白
  • 做网站好深圳网站建设制作哪家口碑好
  • 菏泽市住房和城乡建设路网站网站作业二级网页
  • 无锡个人网站建设为企业做网站赚钱吗
  • 网站建设纟金手指下拉壹陆可口可乐营销策划方案
  • 吉安做网站的网页美工设计的流程有哪些?
  • 网站首页ui大学生个人网站模板
  • 上海网站排名优化费用平面广告设计要用什么软件有哪些
  • 网站的建设方式有哪些wordpress 文字排版
  • 网站建设新媒体运营杨凌网站开发
  • 品牌网站建设哪里好wordpress无法安装
  • 申请免费网站哪个好做网站赚钱吗
  • 天津企业网站建设开发维护wordpress安装主题后不够
  • 佛山专业网站建设的公司html5标签
  • 南海佛山网站建设如何制作网页效果图
  • 建设淘宝客网站南昌模板建站代理
  • 如何学好网站建设qq网站代码
  • 福清做网站的公司贵州省铜仁市城乡建设局网站