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
----后缀数组
[珠玑之椟]字符串和序列:左移、哈希、最长重复子序列的
后缀数组
解法、最大连续子序列
本文主要介绍和讨论的问题和介绍的算法(点击跳转):字符串循环移位(左旋转)问题算法1:“杂技”代码算法2:块交换算法3:求逆(推荐)以字符串散列为例的哈希表最长重复子序列问题的
后缀数组
解法最大连续子序列基本问题直接解法
wuyuegb2312
·
2013-07-08 20:00
算法
字符串
哈希
序列
分治法
[置顶] poj 3261Milk Patterns
后缀数组
入门(以及hash解法)
poj3261MilkPatterns题意:给出n个数,找出大于重复次数大于k的最长重复子串解法:
后缀数组
求出lcp后,二分枚举答案,判断当前二分的key是否满足重复次数大于k,可以直接枚举height
No__stop
·
2013-07-08 15:00
算法
字符串
hash
poj
后缀数组
UVA 11107(Life Forms-
后缀数组
+二分)
ProblemC:LifeFormsYoumayhavewonderedwhymostextraterrestriallifeformsresemblehumans,differingbysuperficialtraitssuchasheight,colour,wrinkles,ears,eyebrowsandthelike.Afewbearnohumanresemblance;thesetypi
nike0good
·
2013-07-06 21:00
BZOJ 3172([Tjoi2013]单词-
后缀数组
第一题+RMQ)
3172:[Tjoi2013]单词TimeLimit: 10Sec MemoryLimit: 512MBSubmit: 268 Solved: 145[Submit][Status]Description某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文 中出现多少次。Input第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每
nike0good
·
2013-07-05 16:00
利用马尔可夫链生成随机文本
问题描述二阶马尔可夫链:例如:ofthepeople,bythepeople,forthepeople分析Prefix(
后缀数组
) Suffixofthe people
utimes
·
2013-07-02 18:00
后缀数组
的应用
问题描述给定一个字符串,求出其最长重复子串例如:abcdabcd最长重复子串是abcd,最长重复子串可以重叠例如:abcdabcda,这时最长重复子串是abcda,中间的a是被重叠的。直观的解法是,首先检测长度为n-1的字符串情况,如果不存在重复则检测n-2,一直递减下去,直到1。这种方法的时间复杂度是O(N*N*N),其中包括三部分,长度纬度、根据长度检测的字符串数目、字符串检测。改进的方法是利
kate19930802
·
2013-06-27 08:00
编程珠玑---读书笔记---使用
后缀数组
查找最长重复子串
后缀数组
是一个字符指针数组,数组中指针所指的对象包含了字符串的每一个后缀,因此成为
后缀数组
。
xiaozhuaixifu
·
2013-06-25 16:00
数据结构
读书笔记
编程珠玑
后缀数组
POJ 3693
后缀数组
重复次数最多的连续重复子串 倍增法以及D3法
【
后缀数组
SA】
后缀数组
保存的是一个字符串的所有后缀的排序结果。其中SA[i]保存的是字符串所有的后缀中第i小的后缀的开头位置。
hnust_xiehonghao
·
2013-06-21 13:00
str2int hdoj4436
由于是处理多个串的子串问题,所以需要先把这些串连接起来,但还要防止连接起来之后子串跨越多个串,所以每个子串之间用一个没有出现的字符分隔,和
后缀数组
稍有不同,这题的分隔符可以都相同,因为只要转移的过程当中不通过分隔符转移即可
gyarenas
·
2013-06-20 17:00
后缀数组
学习笔记——罗穗骞倍增算法代码
一开始看“小罗”写的论文和模板真的云里雾里,理解起来十分困难,后来结合一个百度贴吧里面的学习笔记总算是把倍增算法的代码的意思搞懂了,于是后面自己也写了一份对“小罗”倍增算法代码的注释,希望能对各位正在学习
后缀数组
的同僚带来一点帮助
chj90220
·
2013-06-18 21:00
后缀数组
Longest Repeated subsequence HDOJ2890
后缀数组
,二分长度然后按height分组,每组排序后贪心选择即可#include #include #include #include #include #include #include #include
gyarenas
·
2013-06-18 21:00
后缀数组
--可重叠的K次最长重复子串(POJ3261)
题目:MilkPatterns #include #include #defineN1000010 intwa[N],wb[N],wv[N],ws[N]; intrank[N],height[N]; intsa[N],r[N]; intabs(intx) { returnx=0;i--)sa[--ws[x[i]]]=i; for(p=1,j=1;p=j)y[p++]=sa
ACdreamers
·
2013-06-18 15:00
后缀数组
--(可重叠最长重复子串问题)
问题描述:给定一个字符串,求最长重复子串,这两个子串可以重叠。 其实问题可以转化为height数组的最大值。至于为什么是这样,我可以这样解释:求可重叠最长重复子串等价于求两个后缀的最长公共前缀的最大值,而形成最长公共前缀的子串一定是排名相邻的,所以问题解决。
ACdreamers
·
2013-06-18 14:00
后缀数组
--(最长公共前缀)
解析:当然用
后缀数组
最方便,在
后缀数组
中有很多重要的定义和性质,现在我们来认识一些:定义:LCP(i,j)=suffix(SA[i])与suffix[SA[j]]的最长公共前缀长度,即排号序后的后缀中第
ACdreamers
·
2013-06-18 14:00
Good Article Good sentence HDOJ4416
做了这题,不得不说对
后缀数组
的理解还是不深刻(感觉这题SAM也可以搞,等学透了SAM再来看看这题),题意就是求第一个串S1中有多少个子串不是其他串Si(i>1)的子串,老规矩,先把串都连接起来,中间用不同的字符连接起来
gyarenas
·
2013-06-17 20:00
poj1743(
后缀数组
+二分--不可重叠最长重复子串)
题目:MusicalTheme #include #include #defineN1000010 intwa[N],wb[N],wv[N],ws[N]; intrank[N],height[N]; intsa[N],r[N]; intmax(inta,intb) { returna>b?a
ACdreamers
·
2013-06-17 00:00
后缀数组
后缀数组
是字符串处理的一个重要工具。它由原字符串的所有后缀的字典排序而得,具有较高的检索效率。
twlkyao
·
2013-06-16 09:00
后缀数组
后缀数组
求最长重复子串
问题描述给定一个字符串,求出其最长重复子串例如:abcdabcd最长重复子串是abcd,最长重复子串可以重叠例如:abcdabcda,这时最长重复子串是abcda,中间的a是被重叠的。直观的解法是,首先检测长度为n-1的字符串情况,如果不存在重复则检测n-2,一直递减下去,直到1。这种方法的时间复杂度是O(N*N*N),其中包括三部分,长度纬度、根据长度检测的字符串数目、字符串检测。改进的方法是利
twlkyao
·
2013-06-16 09:00
数据结构
寻找一个字符串中连续出现次数最多的子串
算法描述首先获得
后缀数组
,然后1.第一行第一个字符a,与第二行第一个字符b比较,不等,则2.第一行前两个字符ab,与第三行前两个字符cb比较,不等,则3.第一行前三个字符abc,与第四行前三个字符bcb
twlkyao
·
2013-06-16 09:00
算法
String
poj 1743 -- Musical Theme (
后缀数组
模板题)
就当存个模板#include #include #include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; #definePBpush_back #defineSIZE(x)(int)x.size() #definecl
dlut_ju
·
2013-06-10 22:00
POJ 2774 : Long Long Message (
后缀数组
)
思路:
后缀数组
。(摘自罗穗骞的国家集训队论文)字符串的任何一个子串都是这个字符串的某个后缀的前缀。求A和B的最长公共子串等价于求A的后缀和B的后缀的最长公共前缀的最大值。
chj90220
·
2013-06-09 14:00
poj
2774
最长重复子串(LongestRepeatSubstring)
如果某个子串在目标字符串中出现两次,那么它必将出现在两个不同的后缀中,因此对
后缀数组
进行排序,以寻找相同的后缀,然后扫描数组,比较相邻的元素便可以找出最长的重复子串。
doc_sgl
·
2013-06-07 11:00
最长重复子串
poj 3415 Common Substrings(长度大于k的相同子串对数xian
后缀数组
+单调桟统计)
id=3415题意:给你两个字符串,还有一个数字K,要求这两个字符串长度大于等于K的相同子串对数,具体看题目分析:这题求相同子串,自然就会让人想到
后缀数组
之类的解法,不过
后缀数组
只能求出最长的公共子串,
fp_hzq
·
2013-06-05 14:00
cmp后缀Codeforces Round #166 (Div. 1) && (Div. 2)
后缀数组
解决!!! 每日一道理整个世界,因为有了阳光,城市有了生机;细小心灵,因为有了阳光,内心有了舒畅。
·
2013-06-01 21:00
codeforces
Poj 3294 Life Forms
id=3294本题练习
后缀数组
和LCP.二分查找长度是否满足条件即可。
niuox
·
2013-05-31 08:00
spoj 220 Relevant Phrases of Annihilation(n个串的最长公共重复2次子串)
地址:http://www.spoj.com/problems/PHRASES/题意:给你n个串,求最长的公共重复子串分析:跟两个串的最长的公共重复子串差不多,也是将所有串合成一个串,构造
后缀数组
,然后二分子串长度
fp_hzq
·
2013-05-30 17:00
poj 1743 Musical Theme(最长不重叠重复子串
后缀数组
+二分)
求序列里长度至少为5的最长不重叠重复子串,这里的重复包括每个元素加减相同的值分析:对于区间加减可以通过将相邻的元素的差组成新的序列,答案就变成求至少长度4的最长不重叠重复子串,并且至少间隔1的距离,然后就可以用
后缀数组
来做了
fp_hzq
·
2013-05-30 16:00
poj 3294 Life Forms(
后缀数组
+二分)
id=3294题意:给你n给字符串,求在一半以上的串里重复出现的最长子串分析:将所有字符串合成一个串,字符串自己用不同的字符标记间隔,然后构造新字符串的
后缀数组
,很容易发现,相同子串一定在
后缀数组
里相邻
fp_hzq
·
2013-05-30 13:00
POJ 3261 Milk Patterns(
后缀数组
)
id=3261题意:给你一个序列,求序列里重复出现至少K次的最长子串分析:这题如果学过
后缀数组
的话,那就是模版题了,直接构造一个
后缀数组
,然后枚举i,询问[i,i+k-1]的最长公共前缀就行,i表示排在第
fp_hzq
·
2013-05-30 10:00
[置顶]
后缀数组
da+dc3
以前一看到字符串的题目就有些畏惧,感觉无从下手,只会个KMP和AC自动机,很多情况下都是力不从心,所以打算学各种高端的算法,来解决这类问题,
后缀数组
应该是性价比教高的吧,至少很简单,容易理解,算法实现是另一回事
fp_hzq
·
2013-05-29 21:00
HDU 1403 Longest Common Substring
花了3天时间看了
后缀数组
的论文,差不多看明白了,贴上一份应用的代码吧。
e_windrunner
·
2013-05-29 10:19
HDU
数据结构
poj 3882
后缀数组
求一个串至少出现k次的最长重复子串的长度
///题意:求一个串至少出现k次的最长重复子串的长度,可重叠 #include #include #include #include #include #include #defineMAXN42222 usingnamespacestd; intmax(inta,intb) { returna>=b?a:b; } intr[MAXN]; chars[MAXN]; intwa[MAXN],wb[M
azheng51714
·
2013-05-24 13:00
POJ 1226 Substrings (
后缀数组
)
Substrings Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10244 Accepted: 3515 Description You are given a number of case-sensitive strin
·
2013-05-23 11:00
substring
Distinct Substrings (
后缀数组
)
694. Distinct Substrings Problem code: DISUBSTR http://www.spoj.com/problems/DISUBSTR/ Given a string, we need to find the total number of its distinct substrings. Input T- number of te
·
2013-05-22 08:00
substring
POJ 3261 Milk Patterns (
后缀数组
)
Milk Patterns Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 7748 Accepted: 3522 Case Time Limit: 2000MS Description Farmer John
·
2013-05-22 08:00
Pattern
POJ 1743 Musical Theme (
后缀数组
)
Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14584 Accepted: 5026 Description A musical melody is represented as a sequen
·
2013-05-22 07:00
theme
hdu4552 - 怪盗基德的挑战书
自己的想法:先取出子串,,,然后字符串匹配,,尽管我用了kmp算法,,但是交上还是严重的超时啊啊啊啊a正确思路:尽管有什么ac自动机,
后缀数组
,,我们暴力就可以了,代码很短,思路很明了,,所以我就介绍暴力的思想
shankeliupo
·
2013-05-19 11:00
一个一万字长的连续字符串,找出其所有子串,并统计子串的出现次数
详情可以参考罗穗骞关于
后缀数组
的论文,这里给出代码:/* *=======================================================================
neofung
·
2013-05-15 22:00
GDCPC2013 总结 by SCAU_PH<7_Milk
先说说赛前训练吧,基本上是提前两个星期恢复整队的训练,做了6,7套题,然后就是重新对我模板上面的算法学习一遍,期间收获挺大的,温故之新啊,把一些以前只会用的模板理解了,并且自己学会了手写
后缀数组
。
xymscau
·
2013-05-13 10:00
总结
搜索引擎
zookeeper 6.mapreduce 7.Heritrix 8.tidyHTML工具 9.elasticsearch 索引: 常用索引共有:1.倒排索引 (采用字或者词作为索引项,非常合适关键词搜索)2.
后缀数组
sbl2255
·
2013-05-08 10:00
搜索引擎
搜索引擎
zookeeper 6.mapreduce 7.Heritrix 8.tidyHTML工具 9.elasticsearch 索引: 常用索引共有:1.倒排索引 (采用字或者词作为索引项,非常合适关键词搜索)2.
后缀数组
sbl2255
·
2013-05-08 10:00
简易垂直搜索引擎的核心算法总结
目前主流的索引技术有三种:倒排索引、
后缀数组
以及签名。
后缀数组
虽然快,但是维护困难,代价高昂,不适合作为搜索引擎的索引。而签名的速度和性能都不如倒排索引。
sadfishsc
·
2013-05-05 22:00
简易垂直搜索引擎的核心算法总结
目前主流的索引技术有三种:倒排索引、
后缀数组
以及签名。
后缀数组
虽然快,但是维护困难,代价高昂,不适合作为搜索引擎的索引。而签名的速度和性能都不如倒排索引。
sadfishsc
·
2013-05-05 22:00
简易
垂直
搜索引擎
简易垂直搜索引擎的核心算法总结
目前主流的索引技术有三种:倒排索引、
后缀数组
以及签名。
后缀数组
虽然快,但是维护困难,代价高昂,不适合作为搜索引擎的索引。而签名的速度和性能都不如倒排索引。
sadfishsc
·
2013-05-05 14:00
搜索引擎
核心
垂直
hdu 3068 最长回文 (manacher算法)
朴素算法是依次以每一个字符为中心向两侧进行扩展,显然这个复杂度是O(N^2)的,关于字符串的题目常用的算法有KMP、
后缀数组
、AC自动机,这道题目利用扩展KMP可以解答
H_R_D_127
·
2013-04-30 10:00
面试题:求最长公共子串(利…
原文地址:面试题:求最长公共子串(利用
后缀数组
)&腾讯统计论坛在线人数作者:撩人的羊1、给定一个字符串,求出其最长的重复子串。
S04103037
·
2013-04-25 17:00
hdu 4416 Good Article Good sentence (后缀自动机 SAM)
2012杭州网络赛的一道题,
后缀数组
后缀自动机都行吧。题目大意:给一个字符串S和一系列字符串T1~Tn,问在S中有多少个不同子串满足它不是T1~Tn中任意一个字符串的子串。
dyx404514
·
2013-04-16 10:00
后缀数组
小结
为了提升阅读快感,我特别写了一篇markdown版的
后缀数组
小结
后缀数组
号称字符串处理神器,不过发现好多人都只会用模板,其实这不是我们学算法的本质,我们学习算法的本质应该理解其实现原理,并加以实现,特别是算法
xymscau
·
2013-04-13 21:00
java 树结构:二叉树、B树相关、红黑树等
主要的树的数据结构有:树:堆(大顶堆、小顶堆),trie树(字母树or字典树),后缀树,
后缀数组
,二叉排序/查找树,B+/B-/B*,AVL树,Treap,红黑树,splay树,线段树,树状数组 顺带看了
song_shi_chao
·
2013-04-10 23:00
后缀数组
模板
字4IOI2009国家集训队论文符串r的从
后缀数组
第i个字符开始的后缀表示为Suffix(i),也就是Suffix(i)=r[i..len(r)]。大小比较:关于字符串的大
SprintfWater
·
2013-04-04 23:00
上一页
32
33
34
35
36
37
38
39
下一页
按字母分类:
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
其他