ac自动机
文章平均质量分 79
yrleep
大学毕业不久,ios游戏自由开发者。
展开
-
poj 2778 DNA Sequence
ac自动机处理字符串,dp计算答案,用矩阵来加速#include #include #include #include using namespace std;const long long mod=100000;struct{ int next[30],tmp,fail,lon;}trie[111];int lon;int m,n;struct matrix{原创 2013-06-24 00:10:45 · 1256 阅读 · 0 评论 -
1625 Censored! ac自动机+dp+高精度
ac自动机+dp+高精度ac自动机的节点作为状态,dp[i][j]表示长度为i状态为j的种类数。转移时注意已经是串的节点不能转移并且不能被转移即可。需要注意的一点是输入的字符的ascll码有负数。#include #include #include #include using namespace std;const int N=500;char use[501];i原创 2013-06-25 11:11:23 · 721 阅读 · 0 评论 -
poj 3691
ac自动机+dp 自动机上的节点来作为状态dp[i][j]表示长度为i状态为j至少需要转换多少个字符#include #include #include #include using namespace std;const int root=0,N=4;char a[1111];int dp[1111][1111],c[1111][10];struct{ in原创 2013-06-26 12:03:42 · 897 阅读 · 0 评论 -
hdu 4057 Rescue the Rabbit
ac自动机的状压dpdp[i][j][k]表示长度为i,包含字符串的状态为j,自动机的状态为k是否可行。#include #include #include #include using namespace std;const int root=0,N=4;int n,m;bool dp[2][1111][1111];int c[1111][10],a[111];int原创 2013-06-26 22:54:02 · 732 阅读 · 0 评论 -
hdu 4117 GRE Words 11年成都现场赛
离线建树,然后按顺序把值插入,每插入一个值的时候就按着fail算出该节点的最优解。一个优化,那些值小于0的节点直接去掉。#include #include #include #include using namespace std;const int maxn=3e5+9,N=26,root=0,maxm=2e4+9;int cas=0;int lon;struct{原创 2013-11-29 15:14:44 · 899 阅读 · 0 评论