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-后缀数组
hdu 4117 GRE Words (AC自动机+线段树)
字符串匹配算法,大概就是kmp,ac自动机,
后缀数组
,后缀自动机这么几种了。对于这题,我们很容易想到暴力dp,用kmp去匹配,总复杂度可以做到o(n^2+2*m)(n为字符
No__stop
·
2013-10-04 18:00
AC自动机
Ural-1297-Palindrome
这个题是要求求出所给字符串中的最长回文子串,以前用的其他算法,今天看到
后缀数组
可以做,于是乎~唉,必须要结合RMQ。
z309241990
·
2013-10-04 17:00
后缀数组
SPOJ-694-Distinct Substrings
题目要求求出所给字符串的不同子串的个数,其实就是
后缀数组
的一个运用,可以知道一个子串最多可以产生他长度这么多个字符串,然后减去height[i]剩下的就是新增的~代码:#include #include
z309241990
·
2013-10-04 14:00
后缀数组
后缀数组
资料
原文地址:http://hi.baidu.com/lewutian/item/2dccf95ff5f1500ae7c4a5a4单独把它列出来是因为这个东西真的很神奇~~~
后缀数组
经典思想:多串合并+二分答案
z309241990
·
2013-10-04 12:00
后缀数组
POJ-3261-Milk Patterns
利用
后缀数组
的height数组做,具体可以参考罗大神的论文~代码:#include #include #include usingnamespacestd; constintmaxn=20100; intn
z309241990
·
2013-10-03 17:00
后缀数组
hdu4763 Theme Section KMP
10^6的数据...一开始想写
后缀数组
,看这数据估计是要卡倍增,DC3又没写过..后来想了想直接KMP扫一遍好像就行..以末尾为起点,遍历从失配路径上的每一个点,如果f[j]小于len/3,那么就从2*
yanglei040
·
2013-10-01 21:00
求字符串的最长回文字串 O(n)
我在ACM校队选拔赛上遇到过这道题,当时用的
后缀数组
AC的,但是模板忘了没写出代码来。
·
2013-09-29 22:00
字符串
ural 1297 Palindrome
后缀数组
一眼看上去就是一道裸题竟然调了这么久...一开始的思路是把原串翻转接到原串后面(用分隔符隔开,并且串为加分隔符)构造
后缀数组
之后直接枚举相邻的sa,判断两个位置是否在不同的串里并且对应同一个位置。
yanglei040
·
2013-09-28 20:00
spoj 694,705
后缀数组
,后缀自动机
写
后缀数组
的话,先求出sa,height这两个数组,因为每个后缀一定是一个独一无二的子串,所以可以直接把len先给ans,接下来就是找非后缀的子串,我的做法是直接循环sa,因为相邻的后缀已经是最相近的了
yanglei040
·
2013-09-27 20:00
poj3261 Milk Patterns (
后缀数组
)
给n(n #include #include #include #include #include #include #include #include #include #include usingnamespacestd; typedeflonglongll; constintmaxn=40000+40; ints[maxn],rs[maxn]; intsa[maxn],t[maxn],t2[
yanglei040
·
2013-09-27 16:00
poj1743
后缀数组
楼天成男人八题中的一道,给n个1..88的数字组成一个串S,要找出其中最长的“theme”,theme是串S的一个字串,具体的定义是1.长度至少为5;2.自身或者自身的变形在其他位置至少出现了一次3.条件2中的两个字串不重叠。变形的含义是对某个串,对他的每一位加上或减掉一个常数C,得到的新串就是原串的变形。 根据题意的匹配规则,不难想到把相邻的两个数做差得到一个新串,然后就是
yanglei040
·
2013-09-26 22:00
POJ-1743-Musical Theme
第一次做
后缀数组
的题~参考了下模板和网上的代码~为了纪念代码:#include #include #include #include usingnamespacestd; constintmaxn=200100
z309241990
·
2013-09-24 21:00
后缀数组
POJ 2774 Long Long Message(
后缀数组
求最长公共子串,4级)
J- LongLongMessageTimeLimit:4000MS MemoryLimit:131072KB 64bitIOFormat:%I64d&%I64uSubmit StatusAppointdescription: SystemCrawler (2013-08-28)DescriptionThelittlecatismajoringinphysicsinthecapit
nealgavin
·
2013-09-24 21:00
POJ 2406 Power Strings(KMP OR
后缀数组
,4级)
I- PowerStringsTimeLimit:3000MS MemoryLimit:65536KB 64bitIOFormat:%I64d&%I64uSubmit StatusAppointdescription: SystemCrawler (2013-08-03)DescriptionGiventwostringsaandbwedefinea*btobetheirconca
nealgavin
·
2013-09-24 21:00
POJ 1743 Musical Theme(
后缀数组
,3级)
H- MusicalThemeTimeLimit:1000MS MemoryLimit:30000KB 64bitIOFormat:%I64d&%I64uSubmit StatusAppointdescription: SystemCrawler (2013-05-30)DescriptionAmusicalmelodyisrepresentedasasequenceofN(1 #
nealgavin
·
2013-09-23 21:00
【啊哈,算法】之十、
后缀数组
,求最长重复子串
利用
后缀数组
后缀数组
是一种数据结构,对一个字符串生成相应的
后缀数组
后,然后再排序
Jofranks
·
2013-09-21 18:00
【啊哈,算法】之九、
后缀数组
,字符串中连续出现最多的字串
两个题目的解法有些类似,都用到了
后缀数组
这个数据结构。求一个字符串中连续出现的次数最多的子串,首先生成
后缀数组
例如上面的字符串为:abab
Jofranks
·
2013-09-21 17:00
POJ 3261 Milk Patterns (
后缀数组
或HASH,4级)
G-MilkPatternsCrawlinginprocess...CrawlingfailedTimeLimit:5000MS MemoryLimit:65536KB 64bitIOFormat:%I64d&%I64uSubmitStatusAppointdescription:SystemCrawler(2013-08-01)DescriptionFarmerJohnhasnoti
nealgavin
·
2013-09-17 21:00
后缀数组
求最长重复子串
转自:http://blog.csdn.net/hackbuteer1/article/details/7968623问题描述给定一个字符串,求出其最长重复子串例如:abcdabcd最长重复子串是abcd,最长重复子串可以重叠例如:abcdabcda,这时最长重复子串是abcda,中间的a是被重叠的。直观的解法是,首先检测长度为n-1的字符串情况,如果不存在重复则检测n-2,一直递减下去,直到1。
chanlp129
·
2013-09-15 21:00
后缀数组
求最长重复子串
后缀数组
求最长重复子串问题描述给定一个字符串,求出其最长重复子串例如:abcdabcd最长重复子串是abcd,最长重复子串可以重叠例如:abcdabcda,这时最长重复子串是abcda,中间的a是被重叠的
chenglinhust
·
2013-09-14 16:00
最长重复字串
重复子串又分为可重叠重复子串和不可重叠重复子串,这里只是简单讨论最长可重叠的重复子串,给出基本算法和基于
后缀数组
的算法;关于
后缀数组
,这里也只是用最简单的形式实现,对于
后缀数组
的倍增算法和DC3算法的实现以及不可重叠重复子串的问题可参见算法合集之
u010064842
·
2013-09-13 15:00
重复子串
hdu4622(
后缀数组
+ST算法)
ReincarnationTimeLimit:6000/3000MS(Java/Others) MemoryLimit:131072/65536K(Java/Others)TotalSubmission(s):1305 AcceptedSubmission(s):448ProblemDescriptionNowyouareback,andhaveatasktodo:Givenyouas
xj2419174554
·
2013-09-11 21:00
数据结构
后缀数组
hdu3518(
后缀数组
)
BoringcountingTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):1229 AcceptedSubmission(s):487ProblemDescription035nowfacedatoughproblem,hisenglishteache
xj2419174554
·
2013-09-10 23:00
数据结构
后缀数组
hdu 4622 Reincarnation (后缀自动机)
解题思路:之前写过一个
后缀数组
的解法http://blog.csdn.net/no__stop/article/details/9669325。这几天学了下后缀自动机,所以拿出来写了一下。
No__stop
·
2013-09-10 19:00
后缀自动机
POJ 3294 Life Forms (
后缀数组
求解出现次数不少于K次的串,5级)
C-LifeFormsCrawlinginprocess...CrawlingfailedTimeLimit:5000MS MemoryLimit:65536KB 64bitIOFormat:%I64d&%I64uSubmitStatusAppointdescription:SystemCrawler(2013-05-30)DescriptionYoumayhavewonderedwh
nealgavin
·
2013-09-10 10:00
HDU 4552 怪盗基德的挑战书 (
后缀数组
,4级)
B-怪盗基德的挑战书Crawlinginprocess...CrawlingfailedTimeLimit:1000MS MemoryLimit:32768KB 64bitIOFormat:%I64d&%I64uSubmitStatusAppointdescription:SystemCrawler(2013-05-30)Description“在树最美丽的那天,当时间老人再次把大钟平
nealgavin
·
2013-09-09 19:00
后缀数组
后缀数组
1背景
后缀数组
是处理字符串问题的有效算法,如最长公共字串,最长回文字串,重复次数最多的字串等等。所以学好它,对于以后处理处理字符串是很有帮助的。
·
2013-09-08 00:00
后缀数组
POJ 3974 最长回文字串(manacher算法)
思路:一开始我直接上了
后缀数组
DC3的解法,然后MLE了。看了DISCUSS发现还有一种计算回文字串更加优越的算法,就是manacher算法。
kdqzzxxcc
·
2013-09-06 14:00
[各种面试题] 重叠的最长子串
样例输入:abcdecdefg样例输出:3 第一反应还是
后缀数组
,把a跟b串起
a83610312
·
2013-09-03 19:00
Qtech 暑假未讲到的算法(不完全)
字符串处理: KMP、字典树、后缀树、
后缀数组
(两种求
后缀数组
的方法倍增和DC3算法) 包括C++STL里面一些东西比如sortvectormapsetstackqueuemulitmapmulitmapproptity_queue
xindoo
·
2013-09-02 20:00
后缀数组
#include #include usingnamespacestd; constintMAXN=1010; structSuffixArray{ intwa[MAXN];//用来进行基数排序或临时变量 intwb[MAXN];//用来进行基数排序或临时变量 intwv[MAXN];//用来进行基数排序或临时变量 intws[MAXN];//用来进行基数排序或临时变量 intsa[MAXN];
lfj200411
·
2013-09-01 21:00
SPOJ1811最长公共子串问题(后缀自动机)
分析:其实本题用
后缀数组
的DC3已经能很好的解决,这里我们来说说利用后缀自动机如何实现。
ACdreamers
·
2013-08-31 16:00
编程珠玑column15 strings of pearls
排序耗时o(nlgn),,相邻元素之间比较计算最长重复子串耗时o(n)15.3word为指向字符串的
后缀数组
,word中的元素从每个单词的
zhanglei0107
·
2013-08-28 14:00
HDU1116-欧拉回路
判断为Yes的情况:首先必须是连通的其次全部点入度=出度或有两个点入度-出度=1,出度-入度=1;入度=出度的情况为构成了回路,例如abc->cde->efa另外一种便是如同一条链,例如:
acm-
>malform
u011538668
·
2013-08-27 22:00
后缀数组
——处理字符串的有力工具
后缀数组
——处理字符串的有力工具作者:罗穗骞2009年1月【摘要】
后缀数组
是处理字符串的有力工具。
nealgavin
·
2013-08-27 21:00
[置顶]
后缀数组
——处理字符串的有力工具
后缀数组
——处理字符串的有力工具作者:罗穗骞2009年1月【摘要】
后缀数组
是处理字符串的有力工具。
nealgavin
·
2013-08-27 21:00
Hdu 4691 Front compression
点击打开链接
后缀数组
错误的代码。。。。
Magic____
·
2013-08-26 17:00
poj 1743求最长不重叠公共子串
后缀数组
欧液!
pucca6
·
2013-08-26 15:00
后缀数组
[置顶] 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
字符串
后缀数组
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
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
其他