AC-Automation
Cold_Chair
我XXX就是饿死,死外边,从这里跳下去,也不会再做你九条可怜一个测试点
展开
-
AC自动机模板——贴瓷砖
A镇的主街是由N个小写字母构成,镇长准备在上面贴瓷砖,瓷砖一共有M种,第i种上面有Li个小写字母,瓷砖不能旋转也不能被分割开来,瓷砖只能贴在跟它身上的字母完全一样的地方,允许瓷砖重叠,并且同一种瓷砖的数量是无穷的。问街道有多少字母(地方)不能被瓷砖覆盖。原创 2017-03-09 19:06:47 · 756 阅读 · 0 评论 -
JZOJ 3363 【NOI2013模拟】Number
题目大意:现在要组成一个长度为11且开头为1的数字串,有n(1<=n<=100)个长度小于等于5的数字串,现在把组成的字符串分成三段,有四种分法: 1. xxx-xxx-xxxxx 例如 151-958-83019 2. xxx-xxxx-xxxx 例如 151-9588-3019 3. xxxx-xxxx-xxx 例如 1519-5883-019 4. xxxx-xxx-xxxx 例如 1原创 2017-07-11 16:42:20 · 410 阅读 · 0 评论 -
JZOJ 5167 【NOIP2017模拟6.26】下蛋爷
题目大意:有n个单词,有一个长度为m的文章,现在你先需要知道每个单词在文章内出现的次数。 现在一共进行k轮,每一轮有p的概率保留出现次数最小的那些单词(不保留就是把那些单词删掉)。 求n轮以后,每个单词保留下来的概率.1<=n<=200,1<=单词长度<=20,1<=m<=10^6题解:分两个部分。 第一部分就直接上ac自动机,可以打up来优化。 ac自动机up优化: up[x]表示x和x原创 2017-06-27 12:48:18 · 424 阅读 · 0 评论 -
【NOIP2017提高A组模拟8.23】密码
Description:题解:这肯定是数位dp,十分显然。 首先对n个串建一个AC自动机,这样我们就可以表示出当前dp的状态了。 设fi,j,k,0/1f_{i ,j, k,0/1}表示从高往低已经确定了前i个位,匹配数为j,包含当前第i位的后缀走到了AC自动机的第j位,是否顶满。 转移就相当于在AC自动机通过fail跳,预处理一下就行了。 可以维护一个数组表示在AC自动机上的第i个点,这个原创 2017-08-23 18:40:21 · 442 阅读 · 0 评论 -
【NOI2011】阿狸的打字机
Description:阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有 26个小写英文字母和’B’、’P’两个字母。 经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(按 P 前凹槽中至少有一个字母)。 按一下印有'B'的按键,打字机凹槽中最后一个字母会消失。 按一下印有'P'的按键,打字机会在纸上打印出凹槽中现有原创 2018-01-19 21:16:58 · 376 阅读 · 0 评论 -
【TJOI2013】单词
Description:小张最近在忙毕业设计,所以一直在读论文。一篇论文是由许多单词组成的。 但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次。 单词数不超过200 单词总长度不超过1000000题解:这题我能想到的做法有三个。第一个是最朴素的AC自动机。我们需要清楚知道AC自动机的fail链的定义:走到x所代表的字符串有出现的最长的一个后缀。在原trie上往子原创 2018-01-19 21:09:18 · 467 阅读 · 0 评论