AC自动机 模板 找到有多少个匹配的 cpp end[u] |= end[fail[u]];//把危险节点都标记上 ...
分类:
其他好文 时间:
2020-03-28 01:12:25
阅读次数:
81
简介 欢迎来到zcr的博客。这里是一个免费开放且持续更新的知识整合处。 我为大家准备了竞赛中的基础知识、常见题型、解题思路以及常用工具等内容,帮助大家更快速深入地学习编程竞赛。 基础算法 搜索 数据结构 权值线段树 二叉查找树 数学 图论 字符串 马拉车 回文自动机 动态规划 ...
分类:
编程语言 时间:
2020-03-27 10:31:44
阅读次数:
75
AC自动机 ~~Accepted~~ Aho Corasick 性质 AC自动机/AC算法 (Aho Corasick automaton),是著名的多模式串匹配算法。 前置知识 1. 字典树( 重要 ) 2. KMP算法(了解Next数组的作用) 典例与算法复杂度分析 典型例题是:给定一个主串 S ...
分类:
编程语言 时间:
2020-03-27 09:11:10
阅读次数:
73
基于MYT算法从正则表达式构造NFA 基本思想 : 性质 : 对于加括号的正则式(s),使用N(s)本身作为它的NFA 一、构造识别ε和字母表中一个符号的NFA 1.特点 仅一个接受状态,它没有向外的转换 2.示例 二、构造识别主算符为选择正则式的NFA 1.特点 仅一个接受状态,它没有向外的转换 ...
分类:
其他好文 时间:
2020-03-24 11:05:40
阅读次数:
235
题意: 给出一个串 $S$,再给出 $n$ 个串 $T_i$, $q$ 次询问 $S[pl,pr]$ 在 $ T_{[l,r]}$哪个串出现次数最多。 solution: 不难想到我们找 $S[pl,pr]$ 是可以记录 $ed_{pr}$ 然后倍增上去找到这个区间所对应的 SAM 节点。 我们把 ...
分类:
其他好文 时间:
2020-03-23 00:03:32
阅读次数:
68
本文参考博客: 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
bzoj3473 简单的想法就是把这些串的广义$\mathrm{SAM}$建出来,然后对每个节点求出它代表的串出现在了多少个原串中。假设这个已经求出,接下来我们对每个节点求出它及其祖先节点的贡献(因为它们对应了最长串的一连串后缀),在求每个串的答案时在$\mathrm{SAM}$匹配就好了。 那么怎 ...
分类:
其他好文 时间:
2020-03-20 00:55:30
阅读次数:
76
记录一下这几天刷的后缀自动机的题目 "Glass Beads UVA 719" 求 $S$ 循环同构的最小表示 将 $S$ copy 成 $SS$ 后建出后缀自动机,按字典序走 $n$ 步即可 代码 "Longest Common Substring SPOJ LCS" 求两个串的最长公共子串 对第 ...
分类:
其他好文 时间:
2020-03-17 19:45:45
阅读次数:
76