随笔分类 -  字符串——AC自动机

摘要:题意 给定n个字符串,m次询问($n,m \leq 1e5$)每次询问一个串在另一串的出现次数,可以离线处理 思路 首先肯定是对n个串建AC自动机 如何求一个串的子串?假设i点对应这个字符串,那么从fail[ i ]就表示i串的最长后缀,一直向上跳fail,就可以得到i串的所有后缀。对于i的所有子串 阅读全文
posted @ 2019-07-22 21:44 擅长平地摔的艾拉酱 阅读(143) 评论(0) 推荐(0)
摘要:题意 给定一些模式串,求长度为m的所有文本串的个数,且该文本串至少包括一个模式串,答案对10007取模 思路 //没有调用get_fail()调了一个小时我怕不是神仙.... 看到一堆字符串的匹配问题,首先就可以考虑自动机全家桶了......~~很容易~~发现用AC自动机看起来可做 对所有串建AC自 阅读全文
posted @ 2019-07-15 20:05 擅长平地摔的艾拉酱 阅读(181) 评论(0) 推荐(0)
摘要:题意 给定一些字符串,问是否存在一个无限长度的字符串,使得它不包含任何一个给定的串 思路 将所有串加入AC自动机,那么我们从根节点选择的一个字符串显然不能经过任何一个带有end标记的节点,不然就说明其中包含了这个节点对应的字符串。 于是用fail标记建成trie图,判断trie图上面有没有一个不经过 阅读全文
posted @ 2019-07-14 21:14 擅长平地摔的艾拉酱 阅读(176) 评论(0) 推荐(0)
摘要:~~AC自动机是著名的用来处理多模式串匹配的算法~~ 本文讲自己的理解,如有不正确请各位$dalao$指出QAQ 一、$\text{问题}$ 给定多个模式串和一个文本串,求多少个模式串出现在文本串中 二、$\text{思路}$ 暴力的方法就是将每一个模式串与文本串都跑一次$KMP$,时间复杂度$O$ 阅读全文
posted @ 2019-02-19 11:09 擅长平地摔的艾拉酱 阅读(148) 评论(0) 推荐(1)

/*取消选中*/