![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
--------------字符串-------------
文章平均质量分 91
Chandery
人工智能是未来
展开
-
浅谈Aho-Corasick automaton(AC自动机)
Aho-Corasick automaton是什么? 要学会AC自动机,我们必须知道什么是Trie,也就是字典树。Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。首先我们要知道trie,而且要知道KMP,这样就可以学AC自动机了!其实AC自动机就是trie和...原创 2018-04-13 14:07:35 · 2080 阅读 · 2 评论 -
浅谈KMP
简介 KMP算法是拿来处理字符串匹配的。换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A=”I’m matrix67”,字符串B=”matrix”,我们就说B是A的子串。操作原理假如,A=”abababaababacb”,B=”ababacb”。两个指针i和j表示,A[i-j+ 1..i]与B[1..j]完全相等。就是说,i不...原创 2017-07-11 16:32:40 · 291 阅读 · 0 评论 -
浅谈Suffix Automaton(后缀自动机)
这是一个强大的automaton——Suffix Automaton==>我学过最强大,最牛犇,最难理解的自动机现在给你一个问题: 给定一个字符串,要求这个字符串所有子串出现的次数分别是多少朴素算法①枚举左端点,枚举右端点,用hash记录一下,统计个数。(注意最好双hash,保证正确率) 预计时间复杂度:O(n2)O(n2)O(n^2) ②可以直接开...原创 2018-05-07 19:55:42 · 1389 阅读 · 0 评论 -
【GDOI2016模拟】识别子串
Description现在同学们把大多数作业都做完了,但是却被最后一个题给难住了。 一般地,对于一个字符串S,和S中第k个字符,定义子串T=S(i..j)为一个关于k的识别子串,当且仅当 1、i<=k<=j。 2、T在S中只出现一次。 比如,对于banana的第5个字符,“nana”,“anan”,“anana”,“nan”,“banan”和“banana”都是关于它的识别...原创 2018-07-14 16:13:09 · 277 阅读 · 0 评论