AC自动机
芋智波佐助
菜鸟一只
展开
-
POJ 2778 DNA Sequence 长度为n且不含m种模式串的字符串种数
题目来源:POJ 2778 DNA Sequence题意:给你m个字符串 求出长度为n 并且不包含m个模式串的任何一个的文本串的数量思路:有一个经典的矩阵题目:给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数 这里的k步就是字符串的长度 点就是AC自动机上的节点 2点之间有路必须满足2个节点都不是禁止节点 求的长度为n 然后次矩阵快速幂即可 需要透彻理解AC原创 2014-04-18 23:45:56 · 1446 阅读 · 0 评论 -
UVa 11468 Substring AC自动机+概率DP
题目来源:UVA 11468 Substring题意:求不包含任意一个模式串的长度为l的文本串的概率 给出可以使用的字符的种类及其概率思路:AC自动机+概率DP #include #include #include using namespace std;const int maxnode = 20*22;const int size = 66;int ch[maxn原创 2014-04-18 14:25:27 · 1029 阅读 · 0 评论 -
HDU 3695 Computer Virus on Planet Pandora AC自动机裸题
题目来源:HDU 3695 Computer Virus on Planet Pandora题意:输入n个字符串 求最后一个字符串有n个字符串中的几种思路:直接暴力ac自动机#include #include #include using namespace std;const int maxn = 5200010;char s1[maxn], s2[maxn], s3[ma原创 2014-04-14 22:56:21 · 1049 阅读 · 0 评论 -
HDU 2896 病毒侵袭 AC自动机裸题
题目来源:HDU 2896 病毒侵袭题意:求文本串中有多少个模式串 并且输出下标思路:直接ac自动机 然后数组记录在输出 我日写了半天结果函数没调用 找了半天错误 你要长记性啊 这种错误犯了好几次了啊 笨蛋#include #include #include using namespace std;const int maxn = 10010;char a[maxn];原创 2014-04-15 15:23:28 · 917 阅读 · 0 评论 -
UVa 11019 Matrix Matcher 字符矩阵出现次数
题目来源:UVa 11019 Matrix Matcher题意:输入2个字符矩阵 求第二个字符矩阵在第一个字符矩阵中出现的次数思路:见大白书218页#include #include #include #include using namespace std;const int maxn = 1010;const int maxm = 110;char a[maxn][m原创 2014-04-26 21:44:50 · 963 阅读 · 0 评论 -
HDU 2457 DNA repair 不含模式串的最少修改次数
题目来源:HDU 2457 DNA repair题意:给你一个文本串 求最少需要修改的次数 使得文本串不包含模式串思路:可以一位一位构造一个和文本串长度一样的字符串 就4个字符 每次4选1 如果对应的位置的字符不一样修改的次数+1 并且构造的时候不包含禁止节点 dp[i][j] 代表到文本串的前i位 在ac自动机的状态为j 最少需要修改的次数dp[l+1][v] = min(dp[原创 2014-04-18 19:03:28 · 1158 阅读 · 0 评论