还有60天考研,政治、英语、专业课都没复习完,前些日子肠胃又犯病难受,哎,加油吧! 历年真题: 1、KMP算法的特点是在模式匹配时指示主串的指针不会变小 (对) 2、模式串 s="aabaab",其next数组值是 (A) A、012123 B、122123 C、012012 D、112223 今晚 ...
分类:
其他好文 时间:
2018-10-22 20:25:20
阅读次数:
190
建议大家学过AC自动机之后再来看这篇小结 fail树就是讲fail指针看做一条边连成的树形结构 fail指针在AC自动机中的含义是指以x为结尾的后缀在其他模式串中所能匹配的最长前缀的长度 所以在模式串中一定有sq[1~fa[x]]为sk[1~x]的子串 这个性质可以解决一些问题: 单词 显然,我们在 ...
分类:
其他好文 时间:
2018-10-19 14:23:47
阅读次数:
357
传送门 这道题能想到是trie树+搜索,不过在trie树上dfs确实让人大开眼界…… 具体怎么做呢?首先我们可以按照模式串来建立一棵trie树,不过这样的话空间限制是一个问题。解决的方法是把trie树像建图一样用链式前向星去存储,这样的话就节省了很多空间(具体怎么实现可以看代码,还是很简单的)。之后 ...
分类:
其他好文 时间:
2018-10-11 01:33:19
阅读次数:
189
嘟嘟嘟 这个和某谷的AC自动机模板简单版差不多。 但还是要注意几点的: 1.这个是统计出现次数,而不是是否出现,所以在查询的时候加上这个节点的val后,不能把val标记为-1。那么也就可以说查询的时间复杂度能比简单版的稍微第一慢一点。 2.考虑k个一样的模式串:刚开始我想的是每一个节点开一个vect ...
分类:
其他好文 时间:
2018-10-10 20:16:30
阅读次数:
137
题目描述 有N个由小写字母组成的模式串以及一个文本串T。每个模式串可能会在文本串中出现多次。你需要找出哪些模式串在文本串T中出现的次数最多。 输入输出格式 输入格式: 输入含多组数据。 每组数据的第一行为一个正整数N,表示共有N个模式串,1≤N≤150。 接下去N行,每行一个长度小于等于707070 ...
分类:
其他好文 时间:
2018-10-07 23:19:41
阅读次数:
164
题目背景 通过套取数据而直接“打表”过题者,是作弊行为,发现即棕名。 这是一道简单的AC自动机模板题。 用于检测正确性以及算法常数。 为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交。 管理员提示:本题数据内有重复的单词,且重复单词应该计算多次,请各位注意 题目描述 给定n个模式串和1 ...
分类:
其他好文 时间:
2018-10-07 22:29:09
阅读次数:
205
模式串匹配,顾名思义,就是看一个串是否在另一个串中出现,出现了几次,在哪个位置出现; p.s. 模式串是前者,并且,我们称后一个 (也就是被匹配的串)为文本串; 在这篇博客的代码里,s1均为文本串,s2均为模式串; 一般地,文本串长度不小于匹配串;(否则无意义) 很显然可以得到一个暴力的做法 : 时 ...
分类:
编程语言 时间:
2018-10-04 10:21:24
阅读次数:
214
【KMP简述】 主串长度为n,模式串长度为m,朴素的算法下,对于主串S的每一位S[i]都要往后扫描m个字符,所以时间复杂度为O(nm)。 对于KMP算法,它的时间复杂度降到了O(m+n)。原理是用一个next数组预处理了主串的局部匹配信息(最长相同前后缀长度),在进行主串与模式串的匹配时,保证了主串 ...
分类:
编程语言 时间:
2018-10-02 17:36:05
阅读次数:
207
题意:海明距离的定义:两个相同长度的字符串中不同的字符数.现给出母串A和模式串B,求A中有多少与B海明距离 using namespace std; typedef long long LL; const int MAXN = 4e5 + 10; const double PI = acos( 1. ...
分类:
其他好文 时间:
2018-10-02 14:14:12
阅读次数:
204
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2222 第一道AC自动机! T了无数边后终于知道原来它是把若干询问串建一个自动机,把模式串放在上面跑;而且只走模式串的前缀,用 fail 指针来精准遍历每个前缀的每个后缀,就能行了。 ...
分类:
其他好文 时间:
2018-09-23 18:16:24
阅读次数:
142