目录 Trie字典树 KMP AC自动机 Manacher 回文自动机 后缀数组 后缀自动机 ___ Trie字典树 概念 我们先来看看什么是Trie字典树 可以发现,这棵树的每一条边都有一个字符 有一些点是黄色的,表示它们被标记了 那么,哪些字符串在这棵树中出现过呢? 从树的根节点到每一个被标记的 ...
分类:
其他好文 时间:
2020-01-28 23:35:40
阅读次数:
138
要落实的题 好多把多懒得贴了。。。 要学的东西 + 学习 "$\text{Splay}$" + 学习 "计算几何" + 学习 "多项式算法" + 学习 "后缀数组" ...
分类:
其他好文 时间:
2020-01-24 17:21:19
阅读次数:
69
将字符串每个后缀按照字典序排序 $sa:$表示排名为$i$的后缀的起始位置 $rk:$表示起始位置为$i$的后缀的排名 $sa[rk[i]]=i,\ rk[sa[i]]=i$ 通过倍增和基数排序来实现$O(n\ log\ n)$的排序 基数排序时先排第一关键字,再在第一关键字相同下排第二关键字 第二 ...
分类:
编程语言 时间:
2020-01-22 22:00:40
阅读次数:
64
[HAOI2016]找相同字符(后缀数组+单调栈) 题面 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 分析 我们把两个字符串接在一起,中间加一个分隔符。如$\text{AABB}$和$\text{BBAA}$变成$\t ...
分类:
编程语言 时间:
2020-01-21 13:36:40
阅读次数:
79
<学习计划> 一、重点学习新算法 1.平衡树splay,动态树LCT 2.(任意模数)NTT 3.莫队算法 4.带修主席树(树状数组套主席树),线段树/树状数组套平衡树 5.后缀数组/后缀自动机 二、刷题,复习、巩固在OJ上打星号的题目 <注意事项> 1.考试时无论题目有多难,都要努力想正解,不要理 ...
分类:
其他好文 时间:
2020-01-21 00:32:52
阅读次数:
92
[Luogu2870] [USACO07DEC]最佳牛线Best Cow Line(贪心+后缀数组) 题面 FJ打算带他的$N(1 \leq N \leq 30,000)$头奶牛去参加一年一度的“全美农场主大奖赛”。在这场比赛中,每个参赛者都必须让他的奶牛排成一列,然后领她们从裁判席前依次走过。 今 ...
分类:
编程语言 时间:
2020-01-20 22:49:16
阅读次数:
88
后缀数组 后缀数组,也就是后缀排序,是一个给字符串所有后缀排序的算法。 构造 直接排序我们比较的是前 $ n $ 个字符的大小关系。为了优化这个过程,后缀数组用了一种倍增的思路。比较每个字符串的第一位,再比较前 2 位,再比较前 4 位... 最后得到整个数组。这样可以合理利用已经处理的结果。在比较 ...
分类:
编程语言 时间:
2020-01-19 09:15:15
阅读次数:
72
Description 求一个字符串内重复次数最多的连续字串。 Solution "丢一个hihocoder的链接" 先考虑如何如何求一个串给定的串的最大重复次数,枚举一个可能的循环节长度 $l$,然后求原串和原串去掉前 $l$ 个字符后两个串的 $lcp$(最长公共前缀),如果能完全匹配上,就是一 ...
分类:
编程语言 时间:
2020-01-08 14:34:04
阅读次数:
82
Description 求若干个串的最长的公共子串的长度。 Solution 考虑将这若干个串全部拼起来,中间用一些不在字符集内的符号隔开。 然后二分答案 $K$,如果连续的一段 $height$ 都大于等于 $K$,且每个串都出现了至少一次,则是可行的。 Code ...
分类:
编程语言 时间:
2020-01-07 13:02:28
阅读次数:
77
Description 求两个字符串的最长公共子串。 Solution 把两个字符串拼起来,问题就转化为了求任意两个后缀的 $lcp$ 的最大长度。 显然这个最大长度是 $height_i$ 的值,$\text{SA}$ 求解即可。 需要注意的是,对于 $height_i$ 需要判断一下 $SA_i ...
分类:
编程语言 时间:
2020-01-06 23:04:17
阅读次数:
96