随笔分类 -  学习笔记 / 字符串

摘要:SA 基本应用 读入一个长度为 $ n $ 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序(用 ASCII 数值比较)从小到大排序。 解法 1.将每个后缀取出来,直接排序 \(O(n^2 \log n)\) 2.用hash二分LCP比较下一位,\(O(n \log^2 n 阅读全文
posted @ 2024-10-30 12:20 exCat 阅读(62) 评论(0) 推荐(2)
摘要:AC自动机 AC自动机是以 \(Trie\) 的结构为基础,结合 \(KMP\) 的思想建立的自动机,用于解决多模式串(作为子串的串)匹配等任务。 建\(tire\) 树,正常操作即可 建\(fail\)树,如果当前节点失配,可以通过跳\(fail\) 快速转到一个可能有答案的位置,相当于\(kmp 阅读全文
posted @ 2024-08-15 15:35 exCat 阅读(51) 评论(2) 推荐(1)
摘要:KMP(Knuth-Morris-Pratt) 用途: 用于一个文本串S内查找一个模式串P 的出现位置,以及求一个字符串的最小循环元长度和最大循环次数。 思路: \(kmp\)是对原始的在文本串S内查找一个模式串P的出现位置的一种优化。 原始做法 将\(s\)的每一位都与\(p\)的第一位开始匹配。 阅读全文
posted @ 2024-08-13 20:09 exCat 阅读(59) 评论(0) 推荐(1)