AC自动机
九野的博客
这个作者很懒,什么都没留下…
展开
-
UVALive 5103 Computer Virus on Planet Pandora Description 求模式串出现的种数 AC自动机
题目链接:点击打开链接 题意: case数 n个模式串 一个母串。 问:n个模式串出现的种数(一个模式串多次出现只算一次) 对于 "ABC" , 若母串出现了"CBA"这样的反串,也算出现了。 所以: 1 ABC CBA ans = 1 #include #include #include #include #include using namespace st原创 2014-11-10 23:52:51 · 1328 阅读 · 0 评论 -
AC自动机模版
AC自动机1: #include #include #include using namespace std; inline int Max(int a,int b){return a>b?a:b;} inline int Min(int a,int b){return a>b?b:a;} #define maxnode 10000 #define sigma_size原创 2013-10-06 18:50:41 · 2313 阅读 · 2 评论 -
HDU 2846 ac自动机 给定n个串 q个询问 问是n个串中几个串的子串
注意每个串只能成为一个串的子串 only once 所以用set去重 #include #include #include #include #include #include #include #include using namespace std; #define ll __int64 #define N 10010 #define inf 1000000原创 2014-04-24 12:25:12 · 1672 阅读 · 0 评论 -
LA 4670 所有出现最多次的模式串 AC自动机
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2671 题意: 给定n个模式串 第n+1行给定文本串 问: 在文本串出现最多次的模式串 出现的次数和所有出现最多次的模式串(按字典序输出) 思路: AC自动机原创 2014-01-15 13:19:11 · 1784 阅读 · 0 评论 -
HDU 3695 AC自动机 裸题
题意: T个测试数据 n个模版 母串 问: 模版,在母串或翻转母串中出现的个数 注意模版会重复( 一样的单词可能重复出现 ) #include #include #include using namespace std; inline int Max(int a,int b){return a>b?a:b;} inline int Min(int a原创 2013-10-06 22:57:57 · 2780 阅读 · 1 评论 -
HDU 4787 在线AC自动机 分块(模式串和母串交叉给出,多次求getFail)
题意: 给定T个测试数据 n个操作 + 插入单词 ? 询问母串中有多少个子串 在上面出现过 ( 子串被加密,即←移动L位 (L为上次询问的答案) ) 思路: 因为模式串和母串交叉给出,正常来说应该是,每次询问前都要getFail,这样显然会超时) 所以我们用一个小型ac自动机 buf , 每次插入都插入到 buf 中,并重建一下buf 的getFail 若buf的节点数 >原创 2013-11-19 16:27:04 · 4960 阅读 · 6 评论 -
LightOJ 1427 求每个模式串在母串中出现的次数
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27301 题意: t个测试数据 n个模式串 母串 n个模式串 问: 求每个模式串在母串中出现的次数 思路: 对于每个模式串,记录该串的单词结尾在字典树中的节点标号 在母串匹配字典树时,沿着失配边走过的节点都是母串的子串, 因此在失配过程原创 2013-11-08 20:56:21 · 2114 阅读 · 0 评论 -
HDU 2222 AC自动机 裸题
题意: 问母串中出现多少个模式串 注意ac自动机的节点总数 #include #include #include using namespace std; inline int Max(int a,int b){return a>b?a:b;} inline int Min(int a,int b){return a>b?b:a;} int ANS;原创 2013-10-07 20:54:34 · 1949 阅读 · 0 评论 -
HDU 3065 AC自动机 裸题
中文题题意不再赘述 注意 失配数组 f 初始化一步到位 #include #include #include using namespace std; #define N 2000100 #define maxnode 50010 #define sigma_size 26 struct node{ char name[55]; int num; }S原创 2013-10-07 23:37:42 · 1772 阅读 · 0 评论 -
HDU 2896 AC自动机 裸题
中文题题意不再赘述 注意字符范围是可见字符,从32开始到 char c - 32 #include #include #include #include using namespace std; #define N 10000 #define maxnode 57000 #define sigma_size 95 int pre[3]; struct Tri原创 2013-10-07 21:41:59 · 1579 阅读 · 0 评论 -
HNU 13108 Just Another Knapsack Problem ac自动机上的dp
题目链接:点击打开链接 题目链接: 给定一个母串。 给出n个子串和子串对应的价值 用下面的n个子串拼出母串,则得到的价值为子串价值和 拼接时不能有重叠遗漏(即母串的每个位置恰好被覆盖一次) 在ac自动机上找的时候搞一个dp数组就好了 #include #include #include #include #include using namespace std; const原创 2014-11-29 15:51:42 · 1217 阅读 · 0 评论