ACM_Aho-Corasick_automation
文章平均质量分 81
Gatevin
这个作者很懒,什么都没留下…
展开
-
ZOJ 3430 Detect the Virus AC自动机
题目大意:就是现在给出一些病毒样本的字符串,sh原创 2014-11-17 19:26:40 · 739 阅读 · 0 评论 -
UVALive 3490 (LA 3940) || ZOJ 2619 Generator AC自动机(或KMP) + 整数高斯消元 + 数学期望
题目大意:就是现在一个字符串生成器每次随机扔出前n(n 将产生的字符连接起来成为其生成的字符串,如果它产生的字符串中有连续的一段出现了给定的禁止串,则生成停止求停止时已经生成的字符串长度的期望大致思路:一开始果断用了AC自动机,后来发现KMP也就足够了这个题建立方程组之后用Gauss消元不能用double的,容易产生误差...(因为误差跪了好多发之后改成整数版)原创 2015-02-12 20:55:53 · 1353 阅读 · 0 评论 -
UVALive 4670 (LA 4670) Dominating Patterns AC自动机
题目大意:白书例题对于给出的N个(1 如果有多个结果, 按照输入顺序输出大致思路:明摆着个AC自动机水题...首先对于所有pattern建立AC自动机然后扫描一遍language text string即可, 记录每个字符串出现的次数细节见代码吧代码如下:Result : Accepted Memory : ? KB Ti原创 2015-02-11 16:31:05 · 795 阅读 · 0 评论 -
UVA 11019 Matrix Matcher AC自动机字符串矩阵匹配
题目大意:就是在给出的N*M(1 大致思路:白书例题= =不过这种统计出现位置的方法还真是巧妙....需要注意当把X*Y的矩阵拆解的时候可能出现多行是一样的情况细节见注释吧...代码如下:Result : Accepted Memory : ? KB Time : 2469 ms/* * Author: Gatevin原创 2015-02-12 14:19:41 · 570 阅读 · 0 评论 -
UVALive 4126 (LA 4126) Password Suspects AC自动机 + DP + 剪枝dfs
题目大意:白书练习题就是给了M(0 如果种数大致思路:首先吐槽一下看了网上某份题解半小时后发现他是错的....后来搞清楚了自己哪里错了...递归的时候出了输出所有结果的问题,因为记忆化使得部分结果没有被输出所有细节都记录在代码注释里了...大家看代码吧代码如下:Result : Accepted Memory : ? KB原创 2015-02-13 21:12:36 · 999 阅读 · 0 评论 -
UVALive 3907 (LA 3907) Puzzle AC自动机 + 搜索DP 记录路径
题目大意:给定s个字符串(1 大致思路:首先利用AC自动机插入这s个串建立状态转移图, 然后再得到的有向图中搜索, 从根节点开始, 如果存在不经过禁止点的环, 那么输出No, 否则这个图不考虑禁止点是一个DAG, 选取跟节点AC自动机起点之后找最长路径, dfs即可, 可以用记忆化搜索加快对最长长度的搜索, 每次从当前点向之后转移的时候, 优先选字典序最大的字符边保证结果长度最原创 2015-02-15 15:16:15 · 741 阅读 · 0 评论 -
HDU 4787 GRE Words Revenge 分块式在线AC自动机 2013年成都现场赛G题
题目大意:就是现在有n次操作, 每次操作提供一个字符串或者询问一个字符串中有多少个字串是在之前提供的串中出现过的, 其中还有一个L表示旋转操作就是为了使得这个问题在线操作每组数据提供的串的总长度不超过10万, 询问的字符串 总长度不超过500万大致思路:如果不是在线的话很明显可以用AC自动机来做, 但是由于L的原因强制在线, 而对于每一次插入新串都进行一次AC自动机的建立是原创 2015-05-01 16:16:37 · 777 阅读 · 0 评论 -
ZOJ 3545 Rescue the Rabbit AC自动机 + DP (2011大连区域赛G题)
题目大意:就是现在给出n个字符串(n 如果为负数就输出那个字符串大致思路:就是明显的AC自动机上的DP, 建立好AC自动机后, 用dp[i][j][k]表示当前长度为i , 在AC自动机的点 j, 装药表示的包含状态为k的方案是否可行, 初始化dp[0][0][0] = true状态转移方程为dp[i][next[j][c]][k | end[next[j][c]]]原创 2015-05-14 22:57:58 · 1110 阅读 · 0 评论 -
HDU 4117 GRE Words (AC自动机 + 线段树优化DP) 2011年成都现场赛G题
题目大意:就是现在给出n (n 大致思路:首先不难想到建立n个串的AC自动机, 用dp[i]表示最终剩下的串以第i个串结尾的的方案中权值和的最大值那么dp[i] = max(dp[j] + w[i]) 1 显然如果这么直接dp的话讲所有穿建立自动机然后遍历, 直接DP时间复杂度是O(n*n + 2*m), m是字符串总长度那么由于n的限制, 这个方案是不接受的于原创 2015-05-20 20:02:22 · 1822 阅读 · 3 评论 -
HDU 5069 Harry And Biological Teacher AC自动机 + 线段树优化 (BestCoder Round 14 D)
题目大意:就是对于给出的n个字符串(n 大致思路:首先这个题可以用AC自动机或者后缀自动机来做, 我使用的是AC自动机, 将输入的所有串建立一个AC自动机, 对于每一个串A的后缀和串B的前缀进行匹配, 其实就是串A在AC自动机上结尾的点的位置沿着fail指针向上走能够走到的与串B在AC自动机上匹配时经过的位置, 那么我们对于所有B相同的询问一起处理, 也就是现将所有的AC自动机原创 2015-05-28 15:44:45 · 1275 阅读 · 0 评论 -
POJ 1625 Censored! AC自动机 + 动态规划 + 高精度
题目大意:就是现在给出N个字符 ( ASCII原创 2014-11-20 16:25:56 · 787 阅读 · 0 评论 -
UVA 11468 Substring AC自动机+概率DP
题目大意:就是现在给出T组数据,每组由K个字符串(K 大致思路:是个不错的题...当初因为不会AC自动机一直留着,现在回来一看应该属于简单题, 首先常规地建立AC自动机, 在状态转移图上用dp[i][j]表示当前走了i步之后处在节点j处,且没有走到过标记节点的概率(标记节点即为不能到达的插入的字符串的结尾), 那么不难发现状态转移方程 dp[i + 1][next[j][k]]原创 2015-01-29 14:02:53 · 655 阅读 · 0 评论 -
HDU 3247 Resource Archiver AC自动机 + BFS最短路 + 状压DP
题目大意:现在有n个(原创 2014-11-24 19:53:58 · 942 阅读 · 0 评论 -
POJ 2778 DNA Sequence AC自动机+矩阵快速幂
题目大意:现在给出m个( 0原创 2014-11-19 11:19:23 · 882 阅读 · 0 评论 -
HDU 2243 考研路茫茫――单词情结 AC自动机 + 矩阵快速幂
题目大意:就是现在给出一些单词的ci原创 2014-11-19 19:17:36 · 1554 阅读 · 0 评论 -
HDU 2825 Wireless Password AC自动机 + 状态压缩DP
题目大意:现在已知某wifi密码zhi'bao'h原创 2014-11-20 20:39:45 · 862 阅读 · 0 评论 -
SPOJ WPUZZLES (POJ 1204) 413.Word Puzzles AC自动机
题目大意:就是现在有一个游戏,给你一个L*C的字符块,只包含大写英文字母,现在你要在这个块中找到给出的所有的英语单词的位置和摆放方向。其中要找的单词在块中只出现一次,(实际上多个要找的块不会重合,这个游戏就是这样...)对于每个要找的字符串,输出其在块中起始位置的坐标和方向,方向只有8种,并且单词摆放不会拐弯..就是一条线摆放大致思路:其实就是个简单的模板题...首先将原创 2014-11-26 19:21:54 · 1304 阅读 · 0 评论 -
POJ 4052 Hrinity (金华邀请赛I题) AC自动机
题目大意:就是给你 n 个压缩形式的字符串 n原创 2014-11-15 21:21:52 · 1162 阅读 · 0 评论 -
HDU 2457 DNA repair AC自动机 + 动态规划
题目大意:就是现在有原创 2014-11-22 15:35:26 · 1014 阅读 · 0 评论 -
HDU 2296 Ring AC自动机 + 动态规划
题目大意:就是现在给出m个串,每个串都有一个权值,现在你要找到一个原创 2014-11-22 14:33:38 · 863 阅读 · 0 评论 -
ZOJ 3228 Searching the String AC自动机
题目大意:就是现在有N个( N原创 2014-11-22 19:28:19 · 699 阅读 · 0 评论 -
HDU 3341 Lost's revenge AC自动机 + 变进制状压DP
题目大意:现在给出一个DNA序列原创 2014-11-23 20:55:44 · 739 阅读 · 0 评论 -
ZOJ 3494 BCD Code AC自动机 + 数位DP
题目大意:就是现在有0~9对应的BCD码(就是对应的4位的二进制), 然后给出了n串(0 大致思路:首先考虑到A和B的范围,暴力是不可行的,这里需要用到数位DP,也就是逐位确定的思想,首先用AC自动机算出从状态i出发下一位是0~9分别可到达的状态,或者不可走,然后逐位确定各个数位的值即可,记忆化搜索提高效率,启示这个数位DP还是挺简单的,注意前导零的问题即可。代码如原创 2014-11-29 14:49:53 · 964 阅读 · 0 评论 -
BZOJ 2434 阿狸的打字机 (AC自动机 + 树状数组)
题目大意:中文题面, 就是在解密串之后询问第x行的串在第y行的串中出现了几次串的最大长度 大致思路:首先不难将给出的串解出来插入到Trie树中, 那么对于每一次询问, 其实就是在对于所有串建立AC自动机之后, 考虑AC自动机的fail树, 第x行的字符串的结尾位置的结点是u的话, 就相当于问在fail树中, 以u为根的子树下有多少个结点是AC自动机上第y行的字符串经过的点原创 2015-10-21 18:33:01 · 729 阅读 · 0 评论