数据结构-AC自动机
lab104_yifan
这个作者很懒,什么都没留下…
展开
-
UVA 1449 - Dominating Patterns(AC自动机)
uva 1449 - Dominating Patterns题目链接题意:给定一些模式串,再给一个文本,求这些模式串在文本中出现次数最多的串思路:AC自动机的模板题目,注意字符串重复的处理代码:#include #include #include #include #include #include using namespace std;c原创 2014-08-01 19:36:50 · 1106 阅读 · 1 评论 -
UVA 11468 - Substring(AC自动机)
UVA 11468 - Substring题目链接题意:给定一些模式串,然后给出一些字母出现的概率,每次随机出现一个字母,要求出这些字母出现L个组成的字符串不包含(即不是它的连续字串)已有模式串的概率思路:AC自动机,先构造出AC自动机,构造的时候利用next数组的特性,记录下每个位置是否有经过一个单词结点,如果有这个结点就是不能走的结点,那么问题就变成了只能在能走的结点上原创 2014-08-01 22:46:40 · 1336 阅读 · 5 评论 -
UVA 1399 - Puzzle(AC自动机+DP)
UVA 1399 - Puzzle题目链接题意:给定一些字符串,求一个最长的不在包含这些子串的字符串,如果可以无限长输出No思路:建ACM自动机,把不可走结点标记构造出来,然后在这个状态图上进行dp找出最长路径即可,至于无限长的情况,只要在dp前进行一次dfs判有没有环即可代码:#include #include #include #include原创 2014-08-19 21:53:31 · 1166 阅读 · 0 评论 -
UVA 1076 - Password Suspects(AC自动机+DP)
UVA 1076 - Password Suspects题目链接题意:一个密码,给定m个已知子串,求这个密码最多有几种表示方式,如果小于42种,就输出这些密码思路:先利用已有子串构造AC自动机,需要改造一下的地方是每个叶子结点为(1代码:#include #include #include #include #include #include u原创 2014-08-22 16:22:02 · 2729 阅读 · 0 评论 -
UVA 11019 - Matrix Matcher(AC自动机 | hash大法)
UVA 11019 - Matrix Matcher题目链接题意:给定两个矩阵字符串,要求第二个矩阵在第一个矩阵的出现次数思路:第二个矩阵按行拆分成自动机,然后用第一个矩阵一行一行去匹配,利用一个rc[N][M]的数组记录下每个左上角对应位置的成功匹配次数,然后找完后,对于每个位置,如果成功匹配次数为x,那么就是成功匹配上了,ans++代码:#include原创 2014-08-02 15:09:07 · 1723 阅读 · 0 评论