
——AC自动机
FeBr2
(๑•̀ㅂ•́)و✧
展开
-
AC自动机 ( 模板题啊 )——病毒侵袭持续中 ( HDU 3065 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3065 分析&&题解: 这持续侵袭的病毒还不如第一次病毒难,直接模板改改就好: AC代码: #include <cstdio> #include <iostream> #include <cstdlib> #include <cstring> #include <algorithm> #includ原创 2016-07-29 19:02:35 · 459 阅读 · 0 评论 -
AC自动机——病毒侵袭 ( HDU 2896 )
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=2896 分析: 给出N个子串建树,再给出M个母串来查询每个母串含有哪几个子串。还是一只自动AC机~ 题解: 直接套用AC自动机模板,不过需要修改几个地方:建树: 2.void insert(char *s) { Node * t = root; for(;*s;s++) { int x原创 2016-07-29 16:57:21 · 443 阅读 · 0 评论 -
AC自动机 ( 模板题啊 )——Dominating Patterns ( UVA 4670 )
题目链接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2671 分析: 给出N个字符串建树,然后给出一个母串,求出再母串中出现次数最多的子串,如果有多个,就全输出。 题解:模板题!!因为要计算出现次数,可以考虑先用map存储一些所有的原创 2016-07-29 22:01:05 · 375 阅读 · 0 评论 -
AC自动机 ( 动态建树模板 )——Keywords Search ( HDU 2222 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2222 分析: 给出n个单词建树,然后给出一个字符串,搜索字符串里出现了多少个单词。直接套用AC自动机模板就可以。 AC自动机模板(含解析): const int k = 26; const int MAXN = 500100; struct Node { Node* ch[k], *fai原创 2016-07-29 14:42:29 · 629 阅读 · 0 评论 -
AC自动机 ( 静态建树模板 )——Substring ( UVA 11468 )
题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2463 分析: 给出 k 个模式串,再给出N个字符以及每个字符被选中的概率 pi,求选出N个字符组成长度为L的字符串且不含任何模式串的概率。 (出现的字符为 a-z, A-Z, 0-9) 题原创 2016-07-30 13:32:21 · 440 阅读 · 0 评论