随笔分类 -  字符串算法

AC自动机详解
摘要:首先,看清楚了,这是AC自动机不是自动AC机 引用AC自动机模板题上的一句话: ovo 在学习AC自动机之前,应该先掌握一下两个前置技能: Trie KMP AC自动机,通俗地讲,就是在Trie上跑KMP。AC自动机利用Trie的性质和KMP的思想,可以实现字符串的多模匹配。KMP是单模匹配,而它与 阅读全文
posted @ 2019-08-20 17:54 TEoS 阅读(542) 评论(0) 推荐(0)
KMP算法详解
摘要:KMP算法, 又称模式匹配算法,能快速判断字符串b是否为字符串a的子串。设a的长度为N,b的长度为N,则KMP算法的时间复杂度为O(N+M)。 在讲解KMP算法之前,先将一种易懂的解决这类问题的方法:枚举a的每个元素$a_i$,每次枚举时比较$a_i$与$b_1,a_{i+1}$与$b_2$,... 阅读全文
posted @ 2019-08-20 17:51 TEoS 阅读(370) 评论(0) 推荐(0)
Trie详解
摘要:Trie,又名字典树、单词查找树,可以较高效地实现统计、排序和保存大量的字符串。 顾名思义,Trie是一个树状的结构,按照树型结构来存储字符串,显然是一种以空间换时间的方法。整体上理解和实现都不会很难。 下面是实现方法: 插入: 当我们往一棵Trie中插入一个字符串时,我们先定义一个指针p指向根节点 阅读全文
posted @ 2019-08-20 13:53 TEoS 阅读(503) 评论(0) 推荐(0)