码迷,mamicode.com
首页 >  
搜索关键字:fail树    ( 108个结果
BZOJ 2342: 【SHOI2011】 双倍回文
题目链接:双倍回文 回文自动机第二题。构出回文自动机,那么一个回文串是一个“双倍回文”,当且仅当代表这个串的节点\(u\)顺着\(fail\)指针往上跳,可以找到一个节点\(x\)满足\(2len_x=len_u\)。当然还需要\(len_u\)是\(4\)的倍数。 然后我们把\(fail\)树构出 ...
分类:其他好文   时间:2017-03-09 19:50:28    阅读次数:220
SPOJ7258
传送门 这题可以参考平衡树求第k大的过程,需要预处理一下从当前节点往下走能走出多少个子串。 原本准备存个图用反向的topsort,发现极为麻烦,看了别人的代码后发现,他们按step大小用了基排,省了很多麻烦。 仔细看了一下构造过程,貌似确实有这样的性质,后创建且step大的节点在fail树上处于儿子 ...
分类:其他好文   时间:2017-02-20 19:53:35    阅读次数:166
bzoj 2434 阿狸的打字机 fail树的性质
如果a串是另b串的后缀,那么在trie图上沿着b的fail指针走一定可以走到a串。 而a串在b串里出现多少次就是它是多少个前缀的后缀。 所以把fail边反向建树维护个dfs序就行了。 并不是很难。。。但没想出来TAT ...
分类:其他好文   时间:2016-12-30 09:15:03    阅读次数:172
fail树
前置技能:AC自动机 假设我们有了一个AC自动机,然后在上面进行字符串匹配。 上面是一个有四个字符串的AC自动机(abcde、aacdf、cdf、cde),虚线是fail指针,实线是转移。 这是上一次讲AC自动机的时候的匹配代码: int match(char* s) { int cur=rot,a... ...
分类:其他好文   时间:2016-12-27 23:05:28    阅读次数:291
BZOJ 2434: [Noi2011]阿狸的打字机 [AC自动机 Fail树 树状数组 DFS序]
2434: [Noi2011]阿狸的打字机 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母和'B'、'P'两个字母。经阿狸研究发现,这个打字机是这样工作的:l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个 ...
分类:编程语言   时间:2016-12-26 00:12:31    阅读次数:233
BZOJ 3172: [Tjoi2013]单词 [AC自动机 Fail树]
3172: [Tjoi2013]单词 Description 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 ...
分类:其他好文   时间:2016-12-25 18:35:25    阅读次数:147
【Codeforces163E】e-Government AC自动机fail树 + DFS序 + 树状数组
E. e-Government time limit per test:1 second memory limit per test:256 megabytes input:standard input output:standard output E. e-Government time limi ...
分类:编程语言   时间:2016-12-08 23:22:43    阅读次数:267
BZOJ2434: [Noi2011]阿狸的打字机
传送门 AC自动机理解的还是不够透彻,这道题没有想出来QAQ 这个如果真的不会玩用KMP打暴力很好想到。好吧其实不应该向kmp方面想,这个多字符串匹配显然是AC自动机。给出的字符串就是给你模拟了建立Trie树的过程。然后考虑根据每个点的fail指针建立fail树。 问$str_i$在$str_j$里 ...
分类:其他好文   时间:2016-10-20 15:33:14    阅读次数:243
51nod 1600 Simplr KMP(后缀自动机+维护树上的数据结构)
题意:对于每个位置,统计有多少个相同的字串。 分析:按照题目的意思,把fail树画出来就会发现,对于第i个字符:ans[i] = ans[i-1] + (ans[i-1]-ans[i-1]) + cal(i); cal(i)是计算s[1…i-1]所有子串与s[1…i]的最长公共后缀的和。换句话说,根 ...
分类:其他好文   时间:2016-09-08 10:06:16    阅读次数:346
BZOJ 2434 阿狸的打字机
http://www.lydsy.com/JudgeOnline/problem.php?id=2434 思路:建立fail树,并找出dfs序,那剩下要做的就是每次找到一个串的位置,然后询问它的区间里面有多少我当前串的节点,具体做法见代码。 ...
分类:其他好文   时间:2016-07-20 17:44:51    阅读次数:235
108条   上一页 1 ... 6 7 8 9 10 11 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!