AC自动机
A_Comme_Amour
胜利油田第一机房
展开
-
[学习笔记]字符串(未完)
Trie树(字典树)Trie树,又称字典树、前缀树,是一种树形结构,是哈希树的变种,是一种用于快速检索的多叉树结构。 典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 ...原创 2018-02-24 19:25:50 · 290 阅读 · 0 评论 -
[BZOJ3172][Tjoi2013]单词(AC自动机)
题目传送门题解AC自动机 AC自动机第一题,感觉做起来非常不顺,感觉难点在于处理单词重叠的问题 大体的思路应该是,我们把每个单词出现的字母在fail树上进行累加,然后建立bfs序,把单词的字母的ans累加到单词的第一个字母上(应该是这样吧?),输出答案; 另一种实现方法:这是我刚开始想到的,在每个单词之间添加一个'#''#''#'分隔组成文章,在处理重叠单词上:我们的mp[k...原创 2018-04-22 14:32:30 · 325 阅读 · 0 评论 -
[BZOJ2938][POI2000]病毒(AC自动机+dfs)
题目传送门题解这是一道比较锻炼思维的题,让我更加深的理解失配指针的作用 一般的AC自动机都是尽量多的匹配,这道题希望无限长,也就是希望能失配就失配,我们构造出trie树之后,在trie图(注意现在变成了一个图)上找环即可; 几点优化:根据trie树的性质.如果某个点的后缀是病毒,那么这个点肯定不能选 在dfs中,建立两个bool数组,一个需要回溯——用于在这条路径上找环,另一个不...原创 2018-04-22 16:21:27 · 377 阅读 · 0 评论 -
[BZOJ 1966] [Ahoi2005]VIRUS 病毒检测(Trie / dp)
题目传送门题解方法一:trie树 标签是AC自动机,但明显不是AC自动机啊,根本没有失配指针的过程,只能叫Tire树吧 我们对每一个单词建立好Tire树之后,在树上进行bfs,进行匹配代码#include <cstdio>#include <cstring>#include <bitset>using namespace std...原创 2018-04-24 17:08:03 · 426 阅读 · 0 评论