如果a串是另b串的后缀,那么在trie图上沿着b的fail指针走一定可以走到a串。 而a串在b串里出现多少次就是它是多少个前缀的后缀。 所以把fail边反向建树维护个dfs序就行了。 并不是很难。。。但没想出来TAT ...
分类:
其他好文 时间:
2016-12-30 09:15:03
阅读次数:
172
2434: [Noi2011]阿狸的打字机 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个 ...
分类:
编程语言 时间:
2016-12-26 00:12:31
阅读次数:
233
Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。l 按一下印有'B'的 ...
分类:
其他好文 时间:
2016-12-24 02:20:45
阅读次数:
202
传送门 AC自动机理解的还是不够透彻,这道题没有想出来QAQ 这个如果真的不会玩用KMP打暴力很好想到。好吧其实不应该向kmp方面想,这个多字符串匹配显然是AC自动机。给出的字符串就是给你模拟了建立Trie树的过程。然后考虑根据每个点的fail指针建立fail树。 问$str_i$在$str_j$里 ...
分类:
其他好文 时间:
2016-10-20 15:33:14
阅读次数:
243
http://www.lydsy.com/JudgeOnline/problem.php?id=2434 思路:建立fail树,并找出dfs序,那剩下要做的就是每次找到一个串的位置,然后询问它的区间里面有多少我当前串的节点,具体做法见代码。 ...
分类:
其他好文 时间:
2016-07-20 17:44:51
阅读次数:
235
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=23083 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研 ...
分类:
其他好文 时间:
2016-07-12 11:54:53
阅读次数:
280
Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。l 按一下印有'B'的 ...
分类:
编程语言 时间:
2016-06-16 17:37:37
阅读次数:
248
fail树 链接地址 定义 把所有fail指针逆向,这样就得到了一棵树 (因为每个节点的出度都为1,所以逆向后每个节点入度为1,所以得到的是一棵树) 还账… 有了这个东西,我们可以做很多事… 对于AC自动机的构造前面的文章已经讲了,而在查询的时候,有一点感觉没有说清楚: 对于x串在y串中出现,必然是 ...
分类:
其他好文 时间:
2016-05-15 16:47:23
阅读次数:
168
[BZOJ2434][Noi2011]阿狸的打字机 试题描述 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。 经阿狸研究发现,这个打字机是这样工作的: l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字 ...
分类:
其他好文 时间:
2016-04-30 15:33:45
阅读次数:
157