本文参考博客: https://blog.csdn.net/bestsort/article/details/82947639 https://blog.csdn.net/creatorx/article/details/71100840 https://blog.csdn.net/weixin_4 ...
分类:
其他好文 时间:
2020-03-21 23:30:15
阅读次数:
75
AC 自动机 1. Dominating Patterns "UVA 1449" 给N个串,然后再给一个串s,求N个串总共在S中出现了多少次 将N个串插入到AC自动机当中,如果某个结点为模式串末尾结点,则在fail树中,以该节点为祖先的所有结点,贡献都+1 然后直接暴力匹配即可,最后倒着去算一遍贡献 ...
分类:
其他好文 时间:
2020-03-20 17:07:34
阅读次数:
84
题目链接:https://vjudge.net/problem/HDU-2896 题意:给出n个模式串(没有相同的模式串),模式串总长<=1e5。然后给出m个文本,文本总长<=1e7,求每个文本串中出现的模式串(最多3种)。 思路: 板子题。因为要输出文本串中出现的模式串编号,所以需要记录字典树中以 ...
分类:
其他好文 时间:
2020-03-14 12:43:02
阅读次数:
55
LINK: "有趣的游戏" 直接说做法了。首先是 ~~我是不会告诉你我看完题后不太会 摸了2h鱼后看题解 一直翻发现自己题目有些没读完整。。~~ 题目中说了每个字符串长度相同 而我一直在思考AC自动机可能存在一些节点是不合法的且其还是其他节点的fail节点这个时候我很茫然不知道怎么dp了。。 实际上 ...
分类:
Web程序 时间:
2020-03-11 19:37:55
阅读次数:
69
P3808 AC自动机(简单版) 给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过。 P3796 AC自动机(加强版) 有N个由小写字母组成的模式串以及一个文本串T。每个模式串可能会在文本串中出现多次。你需要找出哪些模式串在文本串T中出现的次数最多。 ...
分类:
其他好文 时间:
2020-03-11 00:50:10
阅读次数:
49
有 $n$ 个询问串 $S_i$,有一个初始为空的字符串集合 $T$,接下来有 $q$ 个操作,每次向集合中添加一个字符串,或给定 $x$ 询问集合中有多少个字符串包含 $S_x$ Solution 考虑对 $S_i$ 建立 ACAM,建出 $fail$ 树,一个点发生匹配,则需要修改它到根的链,询 ...
分类:
编程语言 时间:
2020-03-08 17:24:36
阅读次数:
65
一、碎语&心得 下一周我准备学习 AC 自动机(这个名字是真的喜感不知道为什么要叫做 AC 自动机)。所以我要先学他的前置条件字典树,因为已经有了用数组模拟树的经验,再加上树也学了不少了而且字典树很简单。所以我的学习没有遇到什么困难,花了半个小时看了一会儿模板,在搞懂了几个关键点之后我就写出来了,代 ...
分类:
其他好文 时间:
2020-03-08 14:32:33
阅读次数:
81
时刻要记住正难则反,可以知道总数是 $26^m$,我们可以减掉不合法的。 AC自动机上面dp,不合法的显然就是没有出现任意的一个串,根据rainy的教导 单词 $b,bce,abcd$ 的 ACAM 然后 $dp$ 就好了,由于点数不超过 $n m \leq 6000$,然后你每一位枚举复杂度是 $ ...
分类:
Web程序 时间:
2020-03-03 14:33:20
阅读次数:
73
题目 "传送门" 思路 算是AC自动机的一个经典的应用 不包含其中的任何一个字串,也就是不能再自动机上面进行匹配 只要在自动机上走的路径不包含任何一个终结节点就行了 按照常规做法,建矩阵跑快速幂 代码 ...
分类:
其他好文 时间:
2020-03-01 12:24:33
阅读次数:
67
https://tdpc.contest.atcoder.jp/assignments N 简单的树形DP,把加边转化成加点,组合数简单算一下。 Q 为了不重复只能加01字符。 为了知道是否成段需要记录结束位置。 但是这样没法转移。可以再存一个AC自动机状态,也可以再存末7位的数。可以发现结束位置需 ...
分类:
其他好文 时间:
2020-02-25 17:58:53
阅读次数:
78