码迷,mamicode.com
首页 >  
搜索关键字:ac自动机    ( 1438个结果
HDU 2896 病毒侵袭 (AC自动机)
http://acm.hdu.edu.cn/showproblem.php?pid=2896 病毒侵袭 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11796    Accepted Submission(s): 3067 ...
分类:其他好文   时间:2014-10-04 23:04:07    阅读次数:192
Hdu 3962 Microgene (AC自动机+矩阵)
题目大意: 构造一个串使得有两个以及两个以上的目标串。长度为L的所有串中有多少个这样的串。 思路分析: 用所有的数量减去只有1个和没有目标串的数量就是答案了。 如果数据很小,可以用dp解。dp[i][j][k] 表示长度为i,走到自动机的j,有k个目标串的数量。 转移便是。 if(j->next[d] ->isword) dp[i+1][j->next][1] += dp[i]...
分类:其他好文   时间:2014-10-04 22:48:17    阅读次数:364
UVA 10679 I love Strings!!!(AC自动机)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1620 题意: 给出一个文本串和若干个模式串,问模式串是否在文本串中出现过。 分析: 简单粗暴的AC自动机模板题,要注意模式串可能有重复的情况。 /* * * Aut...
分类:其他好文   时间:2014-10-04 21:14:17    阅读次数:327
Hdu 2243 考研路茫茫——单词情结 (AC自动机+矩阵)
哎哟喂,中文题。。。不说题意了。 首先做过POJ 2778可以知道AC自动机是可以求出长度为L的串中不含病毒串的数量的。 POJ 2778的大概思路就是先用所有给的病毒串建一个AC自动机,然后将AC自动机上所有非单词节点连一个边。 离散数学中有说道,如果矩阵A 中的 [i][j] 表示 i节点通过一条边可以走到j节点的方法数。 那么A*A这个矩阵的[i][j]就表示 i 节点到j ...
分类:其他好文   时间:2014-10-04 19:03:46    阅读次数:250
字符串hash - 简单的字符匹配 --- poj 3461
OulipoProblem's Link:http://poj.org/problem?id=3461Mean:给你一个模式串P和一个母串S,让你统计P串在S串中出现的次数。analyse:这题我一开始想到的就是使用KMP,就用KMP写了,93ms,挺快的。我又用AC自动机写了一遍(纯属娱乐),万万...
分类:其他好文   时间:2014-10-04 15:16:47    阅读次数:164
Zoj 3535 Gao the String II (AC自动机+dp)
题目大意: 用集合A中的串构造出一个串,使之让更多的setB中的串成为他的子串。 思路分析: 和 Codeforces 86C 差不多。 不过这里是要用A中的构造。 先用A 和 B的串构造一个自动机。然后对于A集合的尾结点给出一个最大后缀匹配,对于B集合的尾结点给一个权值。 dp[i][j][k] 表示已经构造出来了一个长度为i的串,现在走到了自动机的j结点,i长度后面有k...
分类:其他好文   时间:2014-10-03 17:13:14    阅读次数:227
Codeforces 86C Genetic engineering (AC自动机+dp)
题目大意: 要求构造一个串,使得这个串是由所给的串相连接构成,连接可以有重叠的部分。 思路分析: 首先用所给的串建立自动机,每个单词节点记录当前节点能够达到的最长后缀。 开始的时候想的是dp[i][j]表示长度为i,走到自动机的j节点的答案。 但是显然既然是可以重复覆盖的,那么每一个节点的dp值都并不是最优的,因为可以从一个地方截断去连接另外一个串。 所以正确姿势就是dp [i...
分类:Web程序   时间:2014-10-02 23:35:23    阅读次数:362
AC自动机
假设手里有N个串,和原文进行匹配,如果跑KMP,得把原文跑N次,实在是太费时间了。AC自动机借助于Trie的压缩功能,将多个串压成一个“树”,用这个树进行KMP,这就是贝尔实验室发明的AC自动机。AC自动机主要有三个操作;insert,getfail,print,find。insert的操作和Tri...
分类:其他好文   时间:2014-10-02 22:59:53    阅读次数:204
poj 1625 (AC自动机好模版,大数好模版)
题目给n个字母,构成长度为m的串,总共有n^m种。给p个字符串,问n^m种字符串中不包含(不是子串)这p个字符串的个数。将p个不能包含的字符串建立AC自动机,每个结点用val值来标记以当前节点为后缀的字符串是否包含非法字符串(p个字符串中的任何一个)。状态转移方程:f(i, j) += f(i-1,...
分类:其他好文   时间:2014-10-02 22:46:33    阅读次数:322
Hdu 3341 Lost's revenge (ac自动机+dp+hash)
题目大意: 给出很多个DNA串,每一个串的价值为1,最后给出一个长串,要你重新排列最后的串使之它所有的子串的权值和最大。 思路分析: 最先容易想到的思路就是搜!管她3721。。直接一个字符一个字符的码,然后在AC自动机上判断最后的权值。TLE哟。 然后发现搜过不去,那就dp咯。再容易想到的就是dp[i][a][b][c][d] 表示此时遍历AC自动机的节点在i,然后构成了a个A,b...
分类:其他好文   时间:2014-10-02 19:52:33    阅读次数:329
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!