阿狸的打字机 首先建立fail树,考虑离线询问。考虑怎么用ACAM处理一个串在另一个串的出现次数, 可以给询问按照主串分类,对于每一个主串分别处理所有询问。某一个串在主串中出现,主串中位于这个串最后的那个位置跳fail必然可以跳到这个串。所以可以树上差分搞一下 大概没啥问题? 然后写了一发,就70了 ...
分类:
其他好文 时间:
2020-01-16 21:49:40
阅读次数:
68
题目描述 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有 2828 个按键,分别印有 2626 个小写英文字母和 B、P 两个字母。经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。 按一下印有 B 的按键, ...
分类:
其他好文 时间:
2020-01-10 23:55:27
阅读次数:
135
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2434 dfs AC自动机,走过的点权值+1,回溯的时候权值-1;走到询问的 y 串的节点,看一下此时 x 串 fail 树子树和即可。 ...
分类:
其他好文 时间:
2019-04-30 21:37:45
阅读次数:
105
思路
可以发现,其实题目中所描述的操作,就是再$AC$自动机上走的过程。输出就是打上标记。删除就是返回父亲节点。
然后看询问。每次询问字符串$x$在字符串中$y$出现的次数。其实也 ...
分类:
其他好文 时间:
2019-02-01 17:08:47
阅读次数:
205
2434: [Noi2011]阿狸的打字机 https://lydsy.com/JudgeOnline/problem.php?id=2434 分析: AC自动机。 查询x在y中出现了几次,就是查询y在AC自动机上有多少节点的可以通过fail指针指向x,反过来就是查询fail树上,x的子树内有多少y ...
分类:
其他好文 时间:
2018-12-09 20:38:42
阅读次数:
237
https://www.lydsy.com/JudgeOnline/problem.php?id=2434 https://www.luogu.org/problemnew/show/P2414 打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是 ...
分类:
其他好文 时间:
2018-05-06 12:20:12
阅读次数:
163
【题意】阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。 经阿狸研究发现,这个打字机是这样工作的: l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。 l 按一下印有'B'的按键,打字 ...
分类:
编程语言 时间:
2018-04-25 14:02:03
阅读次数:
184
题面 "传送门" 正文 最暴力的 最暴力的方法:把所有询问代表的字符串跑一遍kmp然后输出 稍微优化一下:把所有询问保存起来,把模板串相同的合并,求出next然后匹配 但是这两种方法本质没有区别,都是暴力 不那么暴力的 我们对于所有的串建立一个AC自动机,把询问按照$y$排序,然后在AC自动机上面跑 ...
分类:
编程语言 时间:
2018-04-22 16:09:16
阅读次数:
240
[Noi2011]阿狸的打字机 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽 ...
分类:
其他好文 时间:
2018-04-15 16:26:22
阅读次数:
160
可以说也是很迷了。最近写的字符串的题都很迷。。 首先看到路牌先写板子AC机,然后迷 然后??? 回忆一下fail的定义:fail[i]到根形成的字符串是i到根形成的字符串的后缀。 那么大力跳fail硬搞 那么题目询问就变成了求在第y个字符串的那条路径上,有多少个节点fail指向的是第x个字符串的最后 ...
分类:
其他好文 时间:
2018-03-31 10:57:11
阅读次数:
136