数据结构——AC自动机
邵光亮
要为自己喜欢的事情不留余力
展开
-
2020 CCPC Wannafly Winter Camp Day2 K 破忒头的匿名信(AC自动机)
题意:给定 NNN 个单词和字符串 TTT 第 iii 个单词是一个代价为 pip_ipi的字符串 SiS_iSi求用这些单词(可重复使用)组成 TTT 的最小代价,若无法组成 TTT 则输出 −1-1−1 .保证所有所有字符串都仅包含小写英文字母,且 ∑i=1N∣Si∣≤5×105\sum\limits_{i=1}^N\left|S_i\right|\leq5\times10^5i=1...原创 2020-02-22 16:54:12 · 275 阅读 · 1 评论 -
HDU2825 Wireless Password (AC自动机+状态压缩DP)
Problem DescriptionLiyuan lives in a old apartment. One day, he suddenly found that there was a wireless network in the building. Liyuan did not know the password of the network, but he got some im...原创 2019-10-14 20:23:54 · 290 阅读 · 0 评论 -
HDU2296 Ring(AC自动机+DP)
Problem DescriptionFor the hope of a forever love, Steven is planning to send a ring to Jane with a romantic string engraved on. The string's length should not exceed N. The careful Steven knows Ja...原创 2019-10-14 19:29:23 · 185 阅读 · 0 评论 -
HDU2457DNA repair(AC自动机+DP)
Problem DescriptionBiologists finally invent techniques of repairing DNA that contains segments causing kinds of inherited diseases. For the sake of simplicity, a DNA is represented as a string con...原创 2019-10-13 15:28:32 · 182 阅读 · 0 评论 -
HDU3065 病毒侵袭持续中(AC自动机)
Problem Description小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”。这是一个庞大的病毒网站,他有着好多好多的病毒,但是这个网站包含的病毒很奇怪,这些病毒的特征码很短,而且只包含“英文大写字符”。当然小t好想好想为民除害,但是小t从来不打没有准备的战争。知己知彼,百战不殆,小t首先要做的是知道这个病毒网站特征:包...原创 2019-10-12 16:54:55 · 202 阅读 · 0 评论 -
ZOJ 3228 Searching the String(AC自动机)
Description:Little jay really hates to deal with string. But moondy likes it very much, and she's so mischievous that she often gives jay some dull problems related to string. And one day, moondy g...原创 2019-10-12 15:18:43 · 142 阅读 · 0 评论 -
洛谷 P3796 【模板】AC自动机(加强版)
题目描述有NN个由小写字母组成的模式串以及一个文本串TT。每个模式串可能会在文本串中出现多次。你需要找出哪些模式串在文本串TT中出现的次数最多。输入格式输入含多组数据。每组数据的第一行为一个正整数NN,表示共有NN个模式串,1 \leq N \leq 1501≤N≤150。接下去NN行,每行一个长度小于等于7070的模式串。下一行是一个长度小于等于10^6106的文本串TT。...原创 2019-10-12 10:51:45 · 144 阅读 · 0 评论 -
洛谷P3808 【模板】AC自动机(简单版)
题目描述给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过。输入格式第一行一个n,表示模式串个数;下面n行每行一个模式串;下面一行一个文本串。输出格式一个数表示答案输入输出样例输入2aaaaa输出2AC自动机模板 题AC代码:#include<cstdio>#include<cstring&...原创 2019-10-12 09:57:32 · 199 阅读 · 0 评论 -
AC自动机
要学AC自动机需要自备两个前置技能:KMP和trie树(其实不会kmp也行,失配指针的概念并不难)其中,KMP是用于一对一的字符串匹配,而trie虽然能用于多模式匹配,但是每次匹配失败都需要进行回溯,如果模式串很长的话会很浪费时间,所以AC自动机应运而生,如同Manacher一样,AC自动机利用某些操作阻止了模式串匹配阶段的回溯,将时间复杂度优化到了O(n)为文本串长度首先给定模式串"as...原创 2019-10-11 17:09:13 · 127 阅读 · 0 评论