合集-字符串
摘要:应用 O(n)求以每个节点为中心的回文串长度 原理 1、对S=“hshbvbhshb”,每个字符之间插入“#”,以便统一奇偶长度回文串。并在最前插入"^",左右扩展边界时才不会访问到-1,右边不用是因为自带"\0"。得到T="^#h#s#h#b#v#b#h#s#h#b#" 2、定义p[i]为T中i位
阅读全文
摘要:题面 1、先考虑暴力,枚举A每个子串,查看排名,与B匹配。看似时间是O(nklog(n)),但其中k是不完全的,只要不卡kmp,是可以过的。 比较排名时,若查询i之前小于等于a[i]的数,那我们需要现添加,时间上的k就是完全的;若以O(n)的复杂度,在原子串基础上向后走1位,前面删1位,保证子串个数
阅读全文
摘要:题面 浅讲一下思路 1、最开始呢,并没有意识到问题的严重性。认为num与nxt是一样的,再加上一个不重叠的条件即可。然后就发现样例都过不去,还觉得自己可对了。再次读题发现num是字符串的数量,于是又加上了nxt inline void get_nxt(const string s){ int j=0
阅读全文
摘要:应用:求字符串s在文本T中出现的次数与位置 概念: 后缀 从某个位置 i 开始到整个串末尾结束的一个特殊子串。字符串 S 的从 i 开头的后缀表示为 Suffix(S, i),也就是 Suffix(S, i) = S[i…|S|-1]。 真后缀 除了 S 本身的 S 的后缀 前缀 从串首开始到某个位
阅读全文
摘要:终于刷完网络流后准备继续做sa,发现自己忘完了,于是来写个博客。 应用 用 将字符串后缀排序,以找到优美的性质 概念 两个数组: 和 表示将字符串后缀排序后,排名为 的后缀的开头字母在原串的位置 表示后缀 的
阅读全文
摘要:对OI WIKI进行了抄写删减 定义 字符串 的 SAM 是一个接受 的所有后缀的最小 DFA(确定性有限自动机或确定性有限状态自动机)。 SAM是一张有向无环图。节点称作状态,边称作转移 图存在一个源点 ,称作初始状态(即下图红点),其他节点均可从
阅读全文