AC自动机
空白君有着一把空白键blanKey
即使世界如此残酷,我们仍是努力挣扎着
/*算了,退役了,不挣扎了QWQ*/
展开
-
hdu2896 病毒侵袭 (AC自动机)
只在每个模式串最后记录模式串的顺序号,中间全设为0即可,然后AC自动机跑一遍。#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <algorithm> #include <queue> #include <malloc.h> using n原创 2015-11-08 18:12:06 · 360 阅读 · 0 评论 -
hdu2222 Keywords Search (AC自动机)
AC自动机入门标准题。 主要总结建立fail指针过程:设这个节点上的字母为a,沿着他父亲的fail指针走,直到走到一个节点,他的儿子中也有字母为a的节点。然后把当前节点的失fail指针指向那个字母也为a的儿子。如果一直走到了root都没找到,那就把失败指针指向root。 使用广度优先搜索BFS,层次遍历节点来处理,每一个节点的失败路径。 #include <iostream> #include原创 2015-11-08 11:06:08 · 326 阅读 · 0 评论 -
hdu3065 病毒侵袭持续中(AC自动机)
题目点我点我点我题意:给你一些字符串,再给你一个长字符串,问之前的那些字符串分别出现过几次,按输入的顺序输出字符串和其出现次数。 跟上题有一点点变化,主要是主串有可能有不是字母,查询时注意一下就可以了。 另开一个数组作为记录每个模式串的次数。#include <iostream> #include <stdio.h> #include <stdlib.h> #include <s原创 2015-11-09 18:39:45 · 549 阅读 · 0 评论 -
数据结构 文学研究助手(AC自动机)
最近两天都在做AC自动机,刚好数据结构实验可以用,比KMP算法好的地方是文章只要扫描一遍,大大节省了时间,但同时占的内存变大了,简单地说就是,空间换时间。#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <algorithm> #inclu原创 2015-11-09 20:48:13 · 2900 阅读 · 1 评论