下载此文档

后缀自动机SuffixAutomaton.ppt


文档分类:IT计算机 | 页数:约57页 举报非法文档有奖
1/57
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/57 下载此文档
文档列表 文档介绍
后缀自动机 Suffix Automaton
杭州外国语学校陈立杰
WJMZBMR
吐槽&回答
Q:你是哪里的弱菜?我听都没听说过!
A:我是来自杭州外国语学校的陈立杰,确实是弱菜。
Q:Suffix Automaton?我根本就没有听说过这种数据结构。
A:这个还是有点用处的,等下我会讲的,你就当长知识了吧。
Q:呼噜噜~~~~~~
A:睡好。。。
先让我们看SPOJ上的一道题目
1812. mon Substring II
题目大意:给出N(N <= 10)个长度不超过100000的字符串,求他们的最长公共连续子串。
时限:SPOJ上的2s
一个简单的做法
二分答案之后使用哈希就可以在O(LlogL)的时间内解决这个问题。这个做法非常经典就不详细讲了。
看起来很简单。。但是。。。
我们可以看到大部分人都TLE了。。为什么呢?
SPOJ太慢了
SPOJ太慢了
SPOJ太慢了
SPOJ太慢了
SPOJ太慢了
SPOJ太慢了
SPOJ太慢了
新的算法
OI中使用的字符串处理工具
Suffix Array 后缀数组
Suffix Tree 后缀树
Aho-Corasick Automaton AC自动机
Hash 哈希
Suffix Automaton又是什么呢?
什么是自动机
有限状态自动机的功能是识别字符串,令一个自动机A,若它能识别字符串S,就记为A(S)=True,否则A(S)=False。
自动机由五个部分组成,alpha:字符集,state:状态集合,init:初始状态,end:结束状态集合,trans:状态转移函数。
不妨令trans(s,ch)表示当前状态是s,在读入字符ch之后,所到达的状态。
如果trans(s,ch)这个转移不存在,为了方便,不妨设其为null,同时null只能转移到null。
null表示不存在的状态。
同时令trans(s,str)表示当前状态是s,在读入字符串str之后,所到达的状态。
trans(s,str)
Cur = s;
For i = 0 to Length(str)-1
Cur = trans(Cur,str[i]); trans(s,str) 就是Cur

后缀自动机SuffixAutomaton 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数57
  • 收藏数0 收藏
  • 顶次数0
  • 上传人dlmus1
  • 文件大小6.53 MB
  • 时间2017-12-07