后缀树组
文章平均质量分 84
CMTM4
ACM退役
展开
-
POJ 3261 后缀数组 可重叠的,但是要重叠K次的 最长公共前缀最长是多少
题目如题了啦。论文上的题目刷的还是蛮快的了,自从后缀数组越写越顺……再也不用担心这个那个写错了~~~今晚一定要刷完论文上的题目,这样明天就可以继续去做SPLAY的题目拉~~~ #include #include #include #include using namespace std; const int max_n = 200000 + 10; int a[max_n];原创 2015-02-08 22:03:02 · 443 阅读 · 0 评论 -
反复折腾了POJ上的后缀数组
折腾了最长回文串,和模式串的匹配问题。 发现程序慢如狗! POJ 3461 TLE #include #include const int max_strlen = 1200000 + 10; char pattern[max_strlen], text[max_strlen]; int sa[max_strlen], tub[max_strlen], wa[原创 2015-02-08 17:50:57 · 362 阅读 · 0 评论 -
TYVJ 1860 后缀数组裸题
大数据下测试后缀数组的SA和HEIGHT数组的正确性的题目。 也决定了我今后的模板。 #include #include const int max_strlen = 200000 + 10; char text[max_strlen]; int sa[max_strlen], tub[200], wa[max_strlen], wb[max_strlen], wv[原创 2015-02-08 12:41:02 · 584 阅读 · 0 评论 -
POJ 1743 后缀数组
题目的实质就是,不可重叠最长重复字串。 对于音调问题,实际上就是几个数字的 1 2 3 4 和 5 6 7 8 是一样。 也就是随便几个数字,f[i] - f[i -1] 和 f[k] - f[k -1] 是一样,就行了。 也就是吧所有数字的差保存起来,求后缀数组,然后二分答案即可。 记住: 答案小于5,算无解。 (最近在学吉他,这是不是和弦的问题……楼教主懂的真原创 2015-02-08 21:24:19 · 349 阅读 · 0 评论 -
SPOJ 705 子串个数 后缀数组
依然是论文里的题目…… 其中注意,答案要用LONG LONG保存……被坑了一下然后才过 #include #include #include using namespace std; const int max_n = 50000 + 10; char s[max_n]; int slen; int a[max_n], wa[max_n], wb[max_n], wv[max_原创 2015-02-08 23:18:08 · 434 阅读 · 0 评论 -
POJ 3693 重复次数最多的子串是什么?【后缀数组】
听说暴力优化0ms通关。 但是这里要说的显然不是暴力的方法~ 还是喜欢中等大小的字体啦啦啦~ 我知道论文上有讲,但是如果论文上的看懂了,你一定不会在百度搜这个了……我反正当时没看的很明白,大神的解释语言十分精简,精简到了,对于弱B的我,我就看不懂了…… 题目大意: 一个字符串T,他可能里面有一段子串S, S由一个S的子串P重复K次而成。 比如 qwerty a原创 2015-02-09 20:39:28 · 621 阅读 · 0 评论 -
USACO以前的1.3.3 [calfflac] 后缀树组方法
后缀数组构造出的height数组,利用RMQ可以解决回文串问题。 后缀数组的构造需要在后面加一个ASCII码很小的东西,回文串中间也加一个特殊字符比如# aabbaa 构造后就是 aabbaa#aabbaa* abcd构造后就是 abcd#dcba* 大概就这些笔记了…… 然后就是利用height数组的性质来用平衡树解决RMQ。 用为我用倍增法,所原创 2015-01-21 20:14:34 · 670 阅读 · 0 评论 -
UVA 1297 最长回文串【裸】
题目大意:给一行字母,只有字母,最多1000个字母。 求最长回文穿,有多个情况下,输出最前面的那个。 这次终于让我后缀数组不TLE了…… 哇哇哇哇哇! 我就是喜欢用线段树写RMQ……慢就慢,我不管了 #include #include #include using namespace std; const int max_strlen = 4000 + 1原创 2015-02-08 19:32:26 · 573 阅读 · 0 评论