字符串
文章平均质量分 53
本居小鈴
无尽深渊中,唯有你与我共行。
展开
-
【模板】Trie KMP ACAM模板
模板原创 2022-03-02 10:19:55 · 57 阅读 · 0 评论 -
【补题】AC自动机的三道模板题
AC自动机三道模板题 虽然是模板题,但是写出来的全是WA自动机 P3808 【模板】AC 自动机(简单版) P3808 【模板】AC 自动机(简单版) 这道题是AC自动机的模板题,只需要老老实实建立fail指针,建fail时顺带建边优化fail即可。 题目要求,求文本串中出现了几个模式串,只需要记录end,然后跳fail就行(为什么要跳fail可以画个图,顺便再把fail独立出来)。 只要在用的时候不要忘了调用建fail就行。 下面是一个模板。 struct ACAM { int child[MAXN原创 2022-03-02 08:57:54 · 120 阅读 · 0 评论 -
【日志】KMP
KMP 前缀函数 通俗来讲,前缀函数数组就是截止到第iii个位置时,最长的真前缀与真后缀相等的长度。当然,根据这个定义,第一个字符开始的位置其长度即为0。 通常前缀函数数组记为π\piπ,不是圆周率。 计算前缀函数 暴力 根据前缀函数的定义,当然可以通过暴力寻找真前缀与真后缀匹配的长度。当然时间复杂度也很感人。 递推 如果仔细想想的话,从i−1i-1i−1到iii,只是多了一个字符,所以上一个状态到现在的状态的关系就是多了后面一个字符。 如果多出来的字符可以匹配,那么自然是从上面的状态+1即可。 如原创 2022-02-28 10:49:46 · 61 阅读 · 0 评论