摘要:
#后缀定义 “后缀i”代表以第i个字符开头的后缀,存储是用i代表字符串s的后缀s[i...n] #后缀数组是什么? 后缀数组(Suffix Array)主要关系到两个数组:sa 和 rk。 其中,sa[i] 表示将所有后缀排序后第 i 小的后缀的编号,也是所说的后缀数组,后文也称编号数组 sa; r 阅读全文
摘要:
#马拉车的定义 马拉车本质是对**中心扩展法**(暴力算法)的优化。 #马拉车是干什么的 Manacher算法帮助我们**在给定的字符串中找到最长的回文子串**。 为了简单起见,我们先只处理有奇数个字符的字符串,关于偶数个字符的字符串,在文章最后会给出解法。我们的处理思路和暴力算法基本一致,那就是从 阅读全文
摘要:
#KMP算法 ##前言 KMP算法是一个著名的**字符串匹配**算法,效率很高,但是确实有点**复杂**。 ##简介 KMP 算法是 D.E.Knuth、J,H,Morris 和 V.R.Pratt 三位神人共同提出的,称之为 Knuth-Morria-Pratt 算法,简称 KMP 算法。该算法相 阅读全文
摘要:
代码如下(加在头文件前): 1 #pragma GCC optimize(3) 2 #pragma GCC target("avx") 3 #pragma GCC optimize("Ofast") 4 #pragma GCC optimize("inline") 5 #pragma GCC opt 阅读全文