后缀数组搞一下就可以了喵~其实这道题的第一个想法是 SAM ,建完后缀自动机后拓扑排序跑一遍统计下每个子串的出现次数就 O(N) 就妥妥过掉了后缀树也是 O(N) 的,统计一下每个节点对应的子树中有多少个叶子节点即可可是看了一下数据范围,欸呦你妹啊,字符数1000000+1 是什么心态啊!居然把我的...
分类:
其他好文 时间:
2014-08-22 19:35:39
阅读次数:
253
spoj1811LCS
问两个字符串最长公共子串。
做法很简单。匹配成功,则tl++,失败,从父指针回退,tl=t[now].len。
从这题可以清楚了解后缀自动机fa指针的性质:
指向一个状态,这个状态的接受串s[x..x+i]是与当前状态的接受串后缀s[j-i..j]匹配是最长的一个。
这里是不是发现了一个和KMP很像的性质?
KMP在失配时通过next数组回退,那么这...
分类:
其他好文 时间:
2014-08-15 21:11:29
阅读次数:
281
最近几天一直在做有关后缀自动机的题目感觉似乎对后缀自动机越来越了解了呢!喵~这题还是让我受益颇多的,首先搞一个后缀自动机是妥妥的了可是搞完之后呢?我们来观察 step 这个变量,每个节点的 step 是从根节点到此节点所经过的最长步数那么也就是以该点为结尾的最长的后缀长度如何统计不被 Bi 串包含的...
分类:
其他好文 时间:
2014-08-15 20:59:19
阅读次数:
290
这道题是妥妥的后缀自动机裸题学了后缀自动机后,我居然感觉这尼玛果然还是后缀数组最难了有木有!后缀自动机我的理解就是一个动态的存后缀的 AC 自动机以为后缀的特殊性,我们可以在上一次插入的节点后直接插入新的节点,然后沿着 fail(pre) 指针把一些该更新的更新掉即可果然是好写好用喵~如何统计 [i...
分类:
其他好文 时间:
2014-08-14 20:03:59
阅读次数:
221
http://poj.org/problem?id=2774
想用后缀数组的看这里:http://blog.csdn.net/u011026968/article/details/22801015
本文主要讲下怎么hash去找
开始的时候写的是O(n^2 logn)算法 果断超时。。。虽然也用了二分的,,
代码如下:
//hash+二分
#include
#include
#incl...
分类:
其他好文 时间:
2014-08-10 01:47:49
阅读次数:
337
什么是后缀数组后缀树(Suffix tree)是一种数据结构,能快速解决很多关于字符串的问题,缺点是算法复杂难懂且容易出错。而后缀数组、后缀自动机、后缀仙人掌都是后缀树的替代品。后缀数组 Suffix Array 是一个一维数组,它将字符串S的n个后缀从小到大排序后把排好序的后缀的开头位置顺次放入数...
分类:
其他好文 时间:
2014-08-08 18:00:46
阅读次数:
447
*在学习后缀自动机之前需要熟练掌握WA自动机、RE自动机与TLE自动机*什么是后缀自动机后缀自动机 Suffix Automaton (SAM) 是一个用 O(n) 的复杂度构造,能够接受一个字符串所有后缀的自动机。它最早在陈立杰的 2012 年 noi 冬令营讲稿中提到。在2013年的一场多校联合...
分类:
其他好文 时间:
2014-08-08 17:51:26
阅读次数:
351
Codeforces 432D 后缀自动机、KMP
分类:
其他好文 时间:
2014-08-01 19:33:42
阅读次数:
168
*我真的不会 ruby 呀*
#encoding:utf-8
#==============================================================================
# ■ Suffix_Automaton
#----------------------------------------------------------...
分类:
其他好文 时间:
2014-07-22 23:51:59
阅读次数:
293
*在学习后缀自动机之前需要熟练掌握WA自动机、RE自动机与TLE自动机*
什么是后缀自动机
后缀自动机 Suffix Automaton (SAM) 是一个用 O(n) 的复杂度构造,能够接受一个字符串所有后缀的自动机。
它最早在陈立杰的 2012 年 noi 冬令营讲稿中提到。
在2013年的一场多校联合训练中,陈立杰出的 hdu 4622 可以用 SAM 轻松水过,由此 S...
分类:
其他好文 时间:
2014-07-20 23:02:47
阅读次数:
406