E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
----后缀数组
[置顶] ACM知识点学习链接
1、基础关于C/C++中系统的一些库函数使用方法string基本字符用法标准C++中的string类的用法总结2、字符串后缀自动机一后缀自动机二AC自动机专题一AC自动机专题二
后缀数组
专题
后缀数组
经典题
后缀数组
学习好博客从字典树谈到后缀树
ilovexiaohao
·
2013-08-26 10:00
poj 2774/poj 1743/poj 3261
后缀数组
应用
最近看的
后缀数组
,做了几个应用。 1、poj2774求两个字符串的最长公共子串。
aszmq
·
2013-08-25 11:00
后缀数组
后缀数组
: 先膜拜大牛: 《
后缀数组
——处理字符串的有力工具》 罗穗骞 我在看
后缀数组
的时候后看代码看了好久好久,还是木有理解透彻。求sa数组的过程可以分成四段看。
aszmq
·
2013-08-23 16:00
后缀数组
数据结构之
后缀数组
(10)
以下内容来自《编程珠玑》第15章《珍珠字符串》下面介绍一个高效的数据结构,并将它应用在一个很小的问题上:给定一个输入文本文件,查找其中最长的重复子字符串。例如,Asknotwhatyourcompanycandoforyou,butwhatyoucandoforyourcompany?,其中最长的重复字符串为”candoforyou”。
zhongyangzhong
·
2013-08-22 23:00
poj3261(
后缀数组
+二分)
MilkPatternsTimeLimit:5000MS MemoryLimit:65536KTotalSubmissions:8133 Accepted:3712CaseTimeLimit:2000MSDescriptionFarmerJohnhasnoticedthatthequalityofmilkgivenbyhiscowsvariesfromdaytoday.Onfurtherinves
xj2419174554
·
2013-08-22 11:00
后缀数组
二分
poj1743(
后缀数组
+二分)
MusicalThemeTimeLimit:1000MS MemoryLimit:30000KTotalSubmissions:15387 Accepted:5321DescriptionAmusicalmelodyisrepresentedasasequenceofN(1 #include #include usingnamespacestd; //**********************
xj2419174554
·
2013-08-22 10:00
后缀数组
二分
hdu4691(
后缀数组
+ST算法)
FrontcompressionTimeLimit:5000/5000MS(Java/Others) MemoryLimit:102400/102400K(Java/Others)TotalSubmission(s):623 AcceptedSubmission(s):255ProblemDescriptionFrontcompressionisatypeofdeltaencoding
xj2419174554
·
2013-08-21 22:00
后缀数组
RMP问题
UVA 11107 Life Forms (
后缀数组
+ 二份答案)
题目大意:有n个字符串,找出连续的一串长度最大的字符,并且在超过半数的字符串中出现,如果无解输出“?”,否则输出这个字符串,如果多解,按字典序输出,每两个样例之间一个空行。思路:在每个字符串后面都加上一个没出现过的字符,然后把这n个都连起来,形成一个字符串,对这个字符串求sa、height。之后再二份答案长度,设当二分出的长度为m,那么就一遍height扫过去,出现比他小的,就新增加一个段,并统计
u010794465
·
2013-08-21 19:00
hdu 4691 lcp最长公共前缀
后缀数组
经典模板
每行无论公共前缀是多少,都要一个空格和换行,+2注意公共前缀的长度#include#include#includeusingnamespacestd;#defineN100100intsa[N],t[N],t2[N],c[N];charss[N];ints[N];voidbuild_sa(intn,intm){int*x=t,*y=t2;for(inti=0;i=0;--i)sa[--c[x[i]
未水
·
2013-08-21 16:28
ACM
字符串
hdu 4691 lcp最长公共前缀
后缀数组
经典模板
每行无论公共前缀是多少,都要一个空格和换行,+2注意公共前缀的长度#include #include #include usingnamespacestd; #defineN100100 intsa[N],t[N],t2[N],c[N]; charss[N]; ints[N]; voidbuild_sa(intn,intm) { int*x=t,*y=t2; for(inti=0;i=0;--i
Jackyguo1992
·
2013-08-21 16:00
2013 多校第九场 hdu 4691 Front compression(暴力 + 剪枝 OR
后缀数组
)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4691题目大意:输入一组字符串,对于输入的每一个字符串,输出一个数字加一个空格加一个字符串加一个回车,数字为它和上一个输入的字符串的公共前缀的长度,字符串为未匹配的字符串,空串的话长度也为1,最后输出两个数,分别是输入的所有的长度和和输出的长度和,空格和回车都算一个。思路:暴力枚举前缀,然后TLE,然后加了
u010794465
·
2013-08-20 20:00
hdu 4691 Front compression (
后缀数组
)
解题思路:
后缀数组
裸题。。用rmq求最长公共前缀,询问就是o(1)的。很多用暴力的方法过的,对于i区间与i-1区间,如果左端点一样,就去长度小的那个,否则就暴
No__stop
·
2013-08-20 19:00
字符串
后缀数组
HDU 4691(多校第九场1006)
后缀数组
。。。还能多说什么。眼角一滴翔滑过。一直以为题意是当前串与所有之前输入的串的LCP。。。然后就T了一整场。扫了一眼标程突然发现他只比较输入的串和上一个串?我心中突然有千万匹草泥马踏过。然后随手就A了。。。先RMQ预处理一下,复杂度为nlogn,然后每次LCP询问只需O(1)的复杂度。#include #include #include #include #include #include #inc
kdqzzxxcc
·
2013-08-20 18:00
后缀数组
2倍增算法读书笔记
近来一直想学习
后缀数组
,找到一种高效的实现方便的
后缀数组
算法,于是自然找到国家集训队论文-《
后缀数组
——处理字符串的有力工具》,内容大致可以看懂,但是由于算法基础以及读识代码的能力确实有限
xj2419174554
·
2013-08-18 23:00
后缀数组
回文串O(n)算法 Manacher算法
网上说求回文串有三种算法,lcs的n^2算法,
后缀数组
n*log(n),manacher的时间复杂度是O(n)的。我以前只会n^2的算法,刚学的这个算法。
aszmq
·
2013-08-17 15:00
Manacher
回文字符串on算法
poj 3693 Maximum repetition substring (
后缀数组
)
其实是论文题。。题意:求一个字符串中,能由单位串repeat得到的子串中,单位串重复次数最多的子串。若有多个重复次数相同的,输出字典序最小的那个。解题思路:其实跟论文差不多,我看了很久没看懂,后来总算理解了一些。假设我们的单位串长度为l,那么我们将串划分为s[0],s[l],s[2*l],s[3*l]。。这样,可以根据l划分为n/l段。枚举一个j,表示当前枚举的位置为s[j*l],我们要做的是,求
No__stop
·
2013-08-17 14:00
字符串
后缀数组
POJ 3261 Milk Patterns(
后缀数组
+二分答案+离散化)
分析:经典的
后缀数组
求解题:先二分答案,然后将后缀分成若干组。这里要判断的是有没有一个组的符合要求的后缀个数(height[i]>=mid)不小于k。
paradiserparadiser
·
2013-08-16 16:00
POJ 1743 Musical Theme(
后缀数组
)
分析:
后缀数组
解决。先二分答案,把题目变成判定性问题:判断是否存在两个长度为k的子串是相同的,且不重叠。只能说
后缀数组
很强大PS:刚好是男人八题之一..........8分之1男人了.......
paradiserparadiser
·
2013-08-16 15:00
POJ 2774 Long Long Message (
后缀数组
模板)
借用罗大神的模板,开始搞
后缀数组
#include #include #include #include usingnamespacestd; #defineN222222 /****
后缀数组
模版****
paradiserparadiser
·
2013-08-16 13:00
hdu1403(
后缀数组
)
LongestCommonSubstringTimeLimit:8000/4000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3218 AcceptedSubmission(s):1164ProblemDescriptionGiventwostrings,youhavetotellthe
xj2419174554
·
2013-08-14 23:00
ural 1297 Palindrome求最长连续回文子串(
后缀数组
求法)
后缀数组
就可以发挥威力了。将原串翻转后接到原串后面,构成一个新的串,枚举前n个字符,设该字符为i,以它为中点的最长回文子串的长度就是。。自己去算算吧,很简单的,注意考虑奇偶。
No__stop
·
2013-08-14 19:00
字符串
后缀数组
poj 3294 Life Forms (
后缀数组
)
解题思路:一般这种最长连续公共子串什么的都是
后缀数组
,二分答案。。先将n个字符连起来,预处理一遍,sa,rank,height都算出来(这些我都放在模板里),然后就是二分答案了。
No__stop
·
2013-08-14 16:00
算法
字符串
后缀数组
poj 3693 (
后缀数组
)
/* *===================================================================================== * *Filename:c.cpp *Version:1.0 *Created:08/20/201303:06:41PM *Revision:none *Compiler:GNUC++ * *Justlikeyou,wa
dlut_ju
·
2013-08-13 14:00
HDU 3068 最长回文
据说能卡掉
后缀数组
的神题(-_-当然我还不会
后缀数组
),刚学了个manacher算法show一下,目测写的很挫。。。
biboyouyun
·
2013-08-12 20:00
Manacher
字符串:KMP Eentend-Kmp 自动机 trie图 trie树 后缀树
后缀数组
涉及到字符串的问题,无外乎这样一些算法和数据结构:自动机KMP算法Extend-KMP后缀树
后缀数组
trie树trie图及其应用。
ilovexiaohao
·
2013-08-07 20:00
后缀数组
(SA倍增算法)
我就不吐槽这SA我看了几天了。论文里写的代码,真是呵呵。复杂度O(n*logn)。#include #include #include usingnamespacestd; constintN=5e4+3; intsa[N],rank[N],rank2[N],height[N],cnt[N],*x,*y; /* *aradix_sortwhichisbasedonthey[]. *how?a
dgq8211
·
2013-08-05 17:00
数据结构之
后缀数组
以下内容来自《编程珠玑》第15章《珍珠字符串》下面介绍一个高效的数据结构,并将它应用在一个很小的问题上:给定一个输入文本文件,查找其中最长的重复子字符串。例如,Asknotwhatyourcompanycandoforyou,butwhatyoucandoforyourcompany?,其中最长的重复字符串为”candoforyou”。
·
2013-08-01 18:00
数据结构
Substring fzu2075
找出串中恰好出现n次的子串,用SAM的话很好做,只要沿最小字符边遍历,找到|right|为n的点即可,但是由于题目没有给字符集,用128的话SAM会超内存,这也是SAM的缺点之一(依赖字符集),
后缀数组
的做法求出
gyarenas
·
2013-08-01 16:00
后缀数组
(由倍增算法构造)
//倍增算法构造
后缀数组
//时间复杂度O(nlogn)空间复杂度O(n) #include #include #include usingnamespacestd; #defineMAXN110000
Magic____
·
2013-08-01 15:00
后缀数组
小结
单独把它列出来是因为这个东西真的很神奇~~~
后缀数组
经典思想:多串合并+二分答案+最优性--->可行性例1:最长公共前缀给定一个字符串,询问某两个后缀的最长公共前缀。
qq415200973
·
2013-08-01 08:00
0731leetcode刷题总结
后缀数组
之类的已经忘的差不多了,同时kmp和ac自动机之类的应该也是。接下来要熟练掌握下kmp。有时间的话再温习下
后缀数组
和ac自动机把。大概这么多。明天晚上继
sigh1988
·
2013-08-01 00:00
[leetcode刷题系列]Longest Palindromic Substring
这个题至少是存在nlogn的解法的,利用
后缀数组
。是否存在O(n)的解法已经不记得了。印象中似乎是有O(n)。有兴趣的同学可以去研究下。
sigh1988
·
2013-07-31 23:00
后缀数组
练习题(转)
/****
后缀数组
模版****/ #defineF(x)((x)/3+((x)%3==1?
kdqzzxxcc
·
2013-07-31 21:00
hdu 4622(后缀自动机|
后缀数组
)
//昨天晚上一直用
后缀数组
来写,怎么写都超时(后来在网上看到也有用
后缀数组
过的,然来是自己昨晚sb,用把l,r区间的rank数组排序来使l,r区间内的rank有序,其实直接按rank,O(n)遍历就可以做到
laziercs
·
2013-07-31 16:00
hdu 4622 Reincarnation(
后缀数组
)
解题思路:09年的
后缀数组
论文里有一个类似的题,求一个字串的不同字串有多少个。问不同的字串有多少个,即问对于每一个后缀,它的所有前缀中,与其他后缀
No__stop
·
2013-07-31 16:00
后缀数组
HDU 4622 多校第三场1002 后缀自动机
比赛的时候我是用
后缀数组
的,但是T了。赛后看了解题报告说,
后缀数组
貌似是卡你常数的时间,我算了下复杂度O(T*Q*n)。
kdqzzxxcc
·
2013-07-31 13:00
2013 暑假多校训练 3 总结
回过头看1002,应该就是
后缀数组
,但是很久没用了,当初也不理解,正好打印有论文,所以要花点复习一下,就让她们先写很多人过的1007.1007过了,我想1002应该也可以做,打个模
u010638776
·
2013-07-30 19:00
hdu 3948 The Number of Palindromes
后缀数组
,求不同回文子串的数量#include #include //hdu3948 constintMAXN=200010; intwa[MAXN],wb[MAXN],ws[MAXN],wv[MAXN
solotzg
·
2013-07-28 16:00
实现用
后缀数组
求字符串的最长重复字串
原理在博文
后缀数组
的应用已经说明,下面是实现代码/* 问题描述 给定一个字符串,求出其最长重复子串 例如:abcdabcd 最长重复子串是abcd,最长重复子串可以重叠 例如:abcdabcda,这时最长重复子串是
kate19930802
·
2013-07-22 21:00
字符串 KMP Trie AC自动机
后缀数组
还在看
后缀数组
,罗穗骞神牛的课件真是非常给力。今天做了场字符串的练习,包括KMP,Trie,AC自动机和
后缀数组
。A.Oulipo貌似是POJ的,以前做过。直接用KMP水过了。
kdqzzxxcc
·
2013-07-22 17:00
POJ 3261 字符串
做法:1.hash(二分最大长度,这里要判断的是枚举起点,然后对该长度的字串求hash值,统计下该字串出现了几次,如果>=k,则满足条件) 2.
后缀数组
(论文经典题,详细看论文)code:1.
yobobobo
·
2013-07-22 10:00
后缀数组
倍增算法 代码详解
sa[i],表示按后缀树那种排列方式,排在第i位的后缀是哪个后缀for循环里,y[i]表示对于现在的sa数组(排序处理到当前状况时),第二关键字第i大的第一关键字的位置x[i]表示上图中每次要排序的序列,首字母在i的后缀的排位,是rank数组基数排序:每个元素的值对应一个槽radix,统计各个槽的累积个数,就能得到那个元素的排位chars[maxn];intsa[maxn],t[maxn],t2[
Jackyguo1992
·
2013-07-19 16:00
寻找最长重复子串/子数组 Longest Repeated Sequence
思路:目前我用的方法是,
后缀数组
。根据已知数据构建
后缀数组
,为了节省空间,尽量使用指针而不复制原有的数据。代码一:字符串中寻找最长重复子串(允许重叠)。
luckyjoy521
·
2013-07-17 22:00
字符串相关处理kmp,前缀数,后缀树,
后缀数组
,最长回文串,最长重复字串,最长非重复字串
字符串相关处理kmp,前缀数,后缀树,
后缀数组
,最长回文串,最长重复字串,最长非重复字串分类: 算法2012-05-1311:44 935人阅读 评论(0) 收藏 举报算法zkc优化1.最长回文串一般用
后缀数组
或者后缀树可以解决
pi9nc
·
2013-07-15 15:00
算法
字符串:KMP Eentend-Kmp 自动机 trie图 trie树 后缀树
后缀数组
字符串:KMPEentend-Kmp自动机trie图trie树后缀树
后缀数组
2009-09-2500:00:40| 分类: 算法与acm|字号 订阅涉及到字符串的问题,无外乎这样一些算法和数据结构
pi9nc
·
2013-07-15 09:00
查找一段文字中最长的重复字串 – 编程珠玑(排过序的
后缀数组
的应用)
查找一段文字中最长的重复字串–编程珠玑(排过序的
后缀数组
的应用)分类: 算法2012-08-1622:12 164人阅读 评论(0) 收藏 举报编程算法blog转自:https://www.cse.msu.edu
pi9nc
·
2013-07-13 21:00
算法
后缀数组
的DC3构造法
本文的大部分内容都是在理解了这篇文章的大部分内容后而写:http://www.cppblog.com/superKiki/archive/2010/05/15/115421.aspx在字符串相关的问题中,
后缀数组
是一种很有效的武器
nkorange
·
2013-07-11 23:00
后缀数组
原理及应用详解
在pongba的讨论组上看到一道Amazon的面试题:找出给定字符串里的最长回文。例子:输入XMADAMYX。则输出MADAM。这道题的流行解法是用后缀树(SuffixTree)。这坨数据结构最酷的地方是用它能高效解决一大票复杂的字符串编程问题: 1.在文本T里查询T是否包含子串P(复杂度同流行的KMP相当)。2.文本T里找出最长重复子串。比如abcdabcefda里abc同da都重复出现,而最
Hsuxu
·
2013-07-10 19:00
[珠玑之椟]字符串和序列:左移、哈希、最长重复子序列的
后缀数组
解法、最大连续子序列
[珠玑之椟]字符串和序列:左移、哈希、最长重复子序列的
后缀数组
解法、最大连续子序列分类: 算法 珠玑之椟2013-07-0820:52 115人阅读 评论(0) 收藏 举报算法字符串序列哈希分治法目录(
pi9nc
·
2013-07-09 14:00
算法
珠玑之椟
[珠玑之椟]字符串和序列:左移、哈希、最长重复子序列的
后缀数组
解法、最大连续子序列
[珠玑之椟]字符串和序列:左移、哈希、最长重复子序列的
后缀数组
解法、最大连续子序列字符串和数组在存储上是类似的,把它们归为同一主题之下。本文主要介绍三大类问题和它们衍生的问题,以及相应算法。
·
2013-07-09 10:00
算法
字符串
哈希
序列
分治法
上一页
31
32
33
34
35
36
37
38
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他