AC自动机
一些AC自动机方面的编程题
NeverMoreH
^_^
展开
-
hdu5384(AC自动机+纪录重复单词出现的次数)
题意:给出n篇文章,m个单词,输出每篇文章中单词出现的次数,其中单词会重复。思路:AC自动机模板题,添加一个单词的结尾标记记录即可。这里我们用了kuangbin的模板。代码:#include #include #include #include #include #includeusing namespace std;string str;原创 2015-08-13 16:29:55 · 857 阅读 · 0 评论 -
uvalive4842(AC自动机+DP)
题意:给出猴子打字时打某个字母的概率,猴子最多可以敲键盘m次,问得到的长度是m的单词包含模式串的概率。思路:AC自动机+dp。首先,我们用模式串构造一个AC自动机,用dp[i]][j]表示当前猴子正在敲第i个字母且我们在自动机的第j个节点上的概率,转移方程就很好想了,正着dp就可以,具体看代码吧。代码:#include#include#include#原创 2015-08-29 20:35:36 · 370 阅读 · 0 评论 -
hdu2222(看一些单词哪些在模式串中出现过)
转载自:http://www.cppblog.com/mythit/archive/2009/04/21/80633.html题意:t组测试数据,每组有n个单词和一个模式串,问n个单词有多少个在模式串中出现过。思路:做的第一道AC自动机模板题。。。代码:#include#include#includeusing namespace std;转载 2015-07-27 09:49:59 · 358 阅读 · 0 评论 -
AC自动机模板
代码(放牛的模板):#include#include#include#include#includeusing namespace std;const int maxa = 500000;const int cha = 26;int n, m, k;vectoredge[505];struct Tire{ int next[maxa][cha], fail[max原创 2015-08-31 18:38:39 · 299 阅读 · 0 评论