随笔分类 - 字符串
摘要:##后缀数组 后缀$S[i]:S[i]=S[i,|S|]$ 后缀排序:将所有后缀 $S[i]$ 看作独立的串,放在一起按照字典序进行升序排序。 后缀排名 $rk[i]:rk[i]$ 表示后缀 $S[i]$ 在后缀排序中的排名,即他是第几小的后缀。 后缀数组 $sa[i]:sa[i]$ 表示排名第 $
阅读全文
摘要:##前置知识 ###反转串 R(S) 一个字符串 S = S[1]S[2] · · · S[n] 其反串为R(S) = S[n]S[n − 1] · · · S[1]。 ###回文串性质 ####回文半径二分性 回文半径-1 等价于同时删掉回文串的首尾字母,依然是回文串。 ####回文串和Borde
阅读全文
摘要:##背景 给出一个字典,和若干询问:多少个字典串在询问串中出现过。 即单串与多串的匹配问题。 #AC自动机 AC 自动机基于 Trie,将 KMP 的 Border 概念推广到多模式串上。 AC 自动机是一种离线型数据结构,即不支持增量添加新的字符串。 AC 自动机常用于将字符串询问类的问题进行离线
阅读全文
摘要:#Trie树 ##定义 $Trie 是一棵有根树,每个点至多有 |Σ| 个后继边,每条边上有一个字符。$ $每个点表示一个前缀:从跟到这个点的边上的字符顺次连接形成的字符串。$ $每个点还有一个终止标记:是否这个点代表的字符串是一个字典串。$ $可以支持向 Trie 插入新字典串,删除字典串,查询某
阅读全文
摘要:##Border 如果字符串 $S$ 的同长度的前缀和后缀完全相同,即 $Prefix[i] = Suffix[i]$ 则称此前缀(后缀)为一个 $Border$(根据语境,有时 $Border$ 也指长度)。 特殊地,字符串本身也可以是它的 $Border$,具体是不是根据语境判断。 ##周期和循
阅读全文
摘要:1.求多组单词是否分别在文章中出现,出现次数 hdu2222,bzoj3172(每个节点都累加到它的fail节点上) 2.求每个单词的前缀在文章上的最大匹配长度 玄武密码bzoj4327 3.是否存在无限长的字符串,不包含给定的单词 ac自动计上dfs,有环则存在 4.求一个长度为n的字符串,使其至
阅读全文

浙公网安备 33010602011771号