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
折腾了好久。不过收获还是很多的。第一次自己去画SAM所建出来fail树。深入体会了这棵树的神奇性质。 当然,我最终靠着自己A掉了。(这是我第一次推SAM的性质(以前都是抄别人的,感觉自己好可耻),不过感觉好像是摸着黑行走啊!) 这道题,可以先对第一个串建出后缀自动机。然后第二个串在后缀自动机上跑。 ...
分类:
其他好文 时间:
2016-05-11 22:04:05
阅读次数:
287
一个长度为$|S|$的串在树上匹配有两种情况: 1.在LCA处转弯,那么这种情况只有$O(|S|)$次,暴力提取出长度为$2|S|$的链进行KMP即可。 2.不转弯,那么可以拆成两个到根路径的询问。 对所有串的正反串建立AC自动机,求出fail树上每个点的DFS序。 然后DFS原树,记录在AC自动机 ...
分类:
其他好文 时间:
2016-05-07 06:33:37
阅读次数:
279
Trie图和AC自动机的区别 Trie图是AC自动机的确定化形式,即把每个结点不存在字符的next指针都补全了。这样做的好处是使得构造fail指针时不需要next指针为空而需要不断回溯。 比如构造next[cur][i]的fail指针,cur为父节点,next[cur][i]为cur的儿子结点,如果 ...
分类:
其他好文 时间:
2016-04-20 13:27:32
阅读次数:
151
【题目大意】 http://www.lydsy.com:808/JudgeOnline/problem.php?id=3172 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 【思路】 第一次写fail树。首先建立AC自动机,对 ...
分类:
其他好文 时间:
2016-04-12 00:31:30
阅读次数:
172
2434: [Noi2011]阿狸的打字机 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个 ...
分类:
编程语言 时间:
2016-04-04 16:32:00
阅读次数:
359
2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1861 Solved: 1070[Submit][Status][Discuss] Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的
分类:
其他好文 时间:
2016-02-24 17:15:57
阅读次数:
205
3172: [Tjoi2013]单词 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 2327 Solved: 1093[Submit][Status][Discuss] Description 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在
分类:
其他好文 时间:
2016-02-20 09:16:59
阅读次数:
191