ac自动机,bit,dfs序。 本文所有的stl都是因为自己懒得实现。 首先x在y里面出现,就意味y节点可以顺着fail回去。 反向建出一个fail数,然后搞出dfs序列。找出x对应的区间有多少个y。 再用离线操作,把每个y需要计算的x事先保存下来。 #include #include #inclu... ...
分类:
其他好文 时间:
2016-04-29 01:29:53
阅读次数:
221
2434: [Noi2011]阿狸的打字机 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个 ...
分类:
编程语言 时间:
2016-04-04 16:32:00
阅读次数:
359
阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机 上只有 28 个按键,分别印有 26 个小写英文字母和'B'、'P'两个字母。 经阿狸研究发现,这个打字机是这样工作的: ? 输入小写字母,打字机的一个凹槽中会加入这个字母(按 P 前凹槽中至 少有一个字母)。 ? 按一下印有'B' ...
分类:
其他好文 时间:
2016-04-02 10:45:25
阅读次数:
193
阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。l 按一下印有'B'的按键,打字机凹槽中最后一
分类:
其他好文 时间:
2016-03-16 09:35:31
阅读次数:
257
2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1861 Solved: 1070[Submit][Status][Discuss] Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的
分类:
其他好文 时间:
2016-02-24 17:15:57
阅读次数:
205
2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1834 Solved: 1053[Submit][Status][Discuss] Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的
分类:
其他好文 时间:
2016-02-15 22:44:50
阅读次数:
251
一个串a在b中出现, 那么a是b的某些前缀的后缀, 所以搞出AC自动机, 按fail反向建树, 然后查询(x, y)就是y的子树中有多少是x的前缀. 离线, 对AC自动机DFS一遍, 用dfs序+树状数组维护, DFS到的查询点就回答询问.时间复杂度O(|ACAM|+QlogQ)----------...
分类:
编程语言 时间:
2016-01-06 21:33:29
阅读次数:
243
http://www.lydsy.com/JudgeOnline/problem.php?id=2434AC自动机。首先第1行的输入就是让我们建AC自动机。。。。。。(提示好大)记第i个字符串在AC自动机里面的点编号为pos[i]。其实询问就是:对于在AC自动机里pos[y]到根的路径上的所有结点,...
分类:
其他好文 时间:
2015-08-03 13:00:48
阅读次数:
151
Description阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。 经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。l 按一下印有'B'的...
分类:
其他好文 时间:
2015-06-07 12:23:33
阅读次数:
165
这题真是太神了,好多实用的技巧。。首先肯定是要先把每个要输出的串当模式串把自动机给建出来的,如果一个一个串复制出来再一个个插入显然非常慢。。。我们用在自动机上插入模式串的方法来建,初始时在0,新加一个字符就想下爬(或者新建),维护一个父亲指针,删除的时候就可以爬上去,这样就可以O(n)建出来了。。
再考虑询问的问题,每次把串拿出来再放进自动机跑一遍显然太慢。。这里需要用到一个叫做fail树的东西...
分类:
编程语言 时间:
2015-04-20 09:36:29
阅读次数:
455