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 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
ACM-
水题之Digital Roots——hdu1013
好吧,这几天刷一些水题找找感觉,发现,一段时间不练,水平下降好多啊,做个水题都磨蹭半天了。。。。 DigitalRootsProblemDescription Thedigitalrootofapositiveintegerisfoundbysummingthedigitsoftheinteger.Iftheresultingvalueisasingledigitthenthatdigitisth
lx417147512
·
2013-08-01 10: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
ACM-
数论之 Fibonacci Again——hdu1021
这道题,虽然是个水题,但是没有一个数学公式,难死了==!,我暴力了很多遍还是没有成功,我知道不能用暴力破解,但实在想不出来有什么方法,没办法,求助咯,最终才知道有这么个余数公式:(a+b)%3=(a%3+b%3)%3有了这个公式,那真是手到擒来了!这题也体现出ACM与数学那不可分割的关系啊~FibonacciAgainTimeLimit:2000/1000MS(Java/Others) Me
lx417147512
·
2013-07-30 10:00
ACM-
水题之 let the balloon rise——hdu1004
LettheBalloonRiseTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):65180 AcceptedSubmission(s):24152ProblemDescriptionContesttimeagain!Howexciteditistose
lx417147512
·
2013-07-30 09: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
算法
字符串
哈希
序列
分治法
[珠玑之椟]字符串和序列:左移、哈希、最长重复子序列的
后缀数组
解法、最大连续子序列
本文主要介绍和讨论的问题和介绍的算法(点击跳转):字符串循环移位(左旋转)问题算法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
上一页
37
38
39
40
41
42
43
44
下一页
按字母分类:
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
其他