# 题意
给出n个字符串,要构造一个长度为m的字符串S,使得给出的n个字符串中至少有一个是S的子串。问方案数。
# 思路
$AC$自动机+$DP$
考虑至少有一个是S的子串不好考 ...
分类:
其他好文 时间:
2019-02-01 20:39:49
阅读次数:
212
思路
可以发现,其实题目中所描述的操作,就是再$AC$自动机上走的过程。输出就是打上标记。删除就是返回父亲节点。
然后看询问。每次询问字符串$x$在字符串中$y$出现的次数。其实也 ...
分类:
其他好文 时间:
2019-02-01 17:08:47
阅读次数:
205
初始有一个空串s,从前n个大写字母中不断随机取出一个字母添加到s的结尾,出现模式串t时停止,求停止时s的长度期望。 比较无脑的方法是对模式串t建一个单串AC自动机,设u为自动机上的一个结点,dp[u]为从该结点出发走到终结状态时的期望步数,则dp[u]=∑(1+dp[v])/n,v为u的后继状态。特 ...
分类:
其他好文 时间:
2019-02-01 12:17:37
阅读次数:
212
据说这道题卡空间? 不存在的,拿$AC$自动机去存$5000\times5000$的串肯定是要M的 我们可以考虑对长度为$n$的串建一个$SAM$,这样空间就只需要两倍的$3e5$了 之后把每个输入的串放到$SAM$上匹配,匹配到了就打更新一下这个节点的最大匹配长度 之后在$parent$树上传一下 ...
分类:
其他好文 时间:
2019-01-29 22:01:17
阅读次数:
174
layout: post title: 「kuangbin带你飞」专题十七 AC自动机 author: "luowentaoaa" catalog: true tags: kuangbin 字符串 AC自动机 传送门 A.HDU2222 Keywords Search 模板题。给出N个单词,后给你一 ...
分类:
其他好文 时间:
2019-01-29 01:10:56
阅读次数:
120
时间有限,只过了板子和少数题目。。在应该搞DP的时候搞这个。。 关于AC自动机的介绍,LuoGu日报讲的挺好的,可以比较好的入门。 一、模板 #include<bits/stdc++.h> #define RG register #define IL inline #define LL long l ...
分类:
其他好文 时间:
2019-01-28 15:09:32
阅读次数:
145
pro: sol: 建出ac自动机。 一个合法的答案对应一条路径满足从一个scc走到另一个scc的路径。 发现这个题的方案数有可能是无限的。 会在以下两种情况无限: 因此,去掉无限情况后,环只有简单环,缩点以后随便dp一下即可。 ...
分类:
其他好文 时间:
2019-01-27 21:54:27
阅读次数:
146
字符串 马拉车算法 ~~ "P3805 【模板】manacher算法" ~~ "P1659 [国家集训队]拉拉队排练" "P4555 [国家集训队]最长双回文串" AC自动机 "P3808 【模板】AC自动机(简单版)" "P3796 【模板】AC自动机(加强版)" "P2444 [POI2000] ...
分类:
其他好文 时间:
2019-01-27 16:26:53
阅读次数:
192
自适应AC自动机! 其实就是重载运算符。 感觉别人写的自动机下标之间太多累赘的东西,不如重载运算符。方便编写。 实际上AC自动机就是字典树加上$kmp$算法的精髓,可以对于一个文本串快速匹配多个模式串。时间复杂度$O(\Sigma n+m)$。 cpp include define RP(t,a,b ...
分类:
其他好文 时间:
2019-01-26 17:53:40
阅读次数:
181
题目链接:https://cn.vjudge.net/contest/280743#problem/C 题目大意:中文题 具体思路:首先取ascii码0-130是肯定不行的了,会超时。然后就开始简化,如果是按照0-30来的话,会出现负值,这个时候我们就可以单独对每个合法的子串求符合他的子串。 注意: ...
分类:
其他好文 时间:
2019-01-23 21:35:35
阅读次数:
164