摘要: 首先在学习这个之前我们需要学会trie树这个东西,详见trie树。 AC自动机就是在trie树的基础上建立起来的。 先看几个定义: 1,fail指针:这个指针指向 等于当前串的某一后缀的串中,深度最大的那个串。因为在trie树上任意一个点都可以代表从root到这个点所构成的串,所以假设我们现在有ab 阅读全文
posted @ 2018-11-19 22:26 ww3113306 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 简而言之,trie树就是把字符当做点的树。 一般而言,我们建trie树都是在树上插入很多个字符串,再利用trie树的性质来做题。 对于任意一个字符串,我们的插入规则如下:(此处默认所有字符串都只有小写字母) 一开始我们在根节点0. 假设当前所在的点为x,当前遍历到的字符为c。 1,我们先检测x这个节 阅读全文
posted @ 2018-11-19 21:37 ww3113306 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 基数排序是一种复杂度为n * max(每个数的位数)的优秀算法,平常用的不多,但求后缀数组的时候为了达到nlogn的复杂度一般都会采用基数排序,因此还是很有必要学一下的。 大概的意思就是说,对于一个数列而言,我们先以个位数为权值桶排一遍得到一个新的排列,然后再在这个排列的基础上以十位数为权值桶排一遍 阅读全文
posted @ 2018-11-19 21:24 ww3113306 阅读(149) 评论(0) 推荐(0) 编辑
知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。