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 4080 Stammering Aliens(
后缀数组
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4080 题意:给出一个串s,求s的一个最长子串t,使得t在s中至少出现m次? 思路:二分。分组。 int r[N],sa[N],wa[N],wb[N],wd[N],rank[N],h[N]; int cmp(int *r,int a,int b,int len) { r
·
2015-11-11 14:57
后缀数组
HDU 3518 Boring counting(
后缀数组
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3518 题意:给出一个串。求至少出现两次且不重叠的子串的个数? 思路:求sa和h。枚举长度。 int r[N],sa[N],wa[N],wb[N],wd[N],rank[N],h[N]; int cmp(int *r,int a,int b,int len) { ret
·
2015-11-11 14:56
count
WHU 1084 连续技(
后缀数组
)
题目链接:http://acm.whu.edu.cn/land/problem/detail?problem_id=1084 题意:给出一个数列,找出一个最长的长度大于1的连续子列,使得这个子列出现的次数大于1? 思路:求sa和h。二分答案。 int r[N],sa[N],wa[N],wb[N],wd[N],rank[N],h[N]; int cmp(int *r,int a
·
2015-11-11 14:54
后缀数组
KMPmatch 字符串模式匹配
O(m+n) 计算
后缀数组
时,子串进行的也是模式匹配。
·
2015-11-11 12:34
match
后缀数组
模板
#include <string.h> #include <stdio.h> #include <stdlib.h> #define maxn 1005 int r[maxn]; int wa[maxn], wb[maxn], wv[maxn], ws[maxn]; int sa[maxn], rank[maxn], height[maxn]
·
2015-11-11 12:33
后缀数组
USACO 5.1 music theme
听说可以用
后缀数组
,orz。。还不会= =, 偶用的傻傻的DP。。
·
2015-11-11 12:28
USACO
POJ 3415 Common Substrings
于是我们可以将两个串连起来, 中间加个奇葩的分隔符, 做一遍
后缀数组
,
·
2015-11-11 11:06
substring
POJ 3294 Life Forms
于是学习了
后缀数组
. 简单说一下
后缀数组
, 它把长为L的字符串的L个后缀排序了, sa[i]记录排第i名的后缀是哪一个, rank[i]记录i这个后缀
·
2015-11-11 11:05
form
POJ 1743 Musical Theme
标准做法当然是
后缀数组
, 但我用哈希做的. 明显答案可以二分, 二分答案M之后, 从左到右维护长为M的子串的哈希值, 并记录某个哈希值最早出现的下标位置, 这
·
2015-11-11 11:03
theme
hdu4416
后缀数组
前段时间好好学了一下
后缀数组
,昨天再来看这题,就知道显然是
后缀数组
的应用了。 我知道解这道题肯定是类似于用
后缀数组
求字符串所有不同子串个数的思路。
·
2015-11-11 10:55
后缀数组
hdu1403 赤裸裸的
后缀数组
赤裸裸的
后缀数组
的应用啊。
·
2015-11-11 10:54
后缀数组
POJ 3581 Sequence(
后缀数组
)
题目链接:http://poj.org/problem?id=3581 题意:给定一个数列,将其分为三段,每段不空。然后分别将三段的数字翻转拼在一起组成新 的数列。使得新的数列的字典序最小? 思路:首先第一段翻转之后必须最小,因此将原数列翻转求sa,则排名在前面且sa[i]>1(因为另两段不能为空)的第一个i为第一段。然后剩下后两段。因为翻转之后,第二段的前面接在第一段的后面,
·
2015-11-11 09:59
sequence
POJ 2774 Long Long Message(
后缀数组
)
题目链接:http://poj.org/problem?id=2774 题意:给定两个字符串A和B,求最长公共子串。 思路:将两个串连在一起。枚举h,如果sa[i]和sa[i-1]在连接处的两侧则该h值可以更新答案。 int r[N],sa[N],wa[N],wb[N],wd[N],rank[N],h[N]; int cmp(int *r,int a,int b,in
·
2015-11-11 09:58
message
POJ 3693 Maximum repetition substring(
后缀数组
)
题目链接:http://poj.org/problem?id=3693 题意:给定一个字符串,求重复次数最多的连续重复子串。 思路: int r[N],sa[N],wa[N],wb[N],wd[N],rank[N],h[N]; int cmp(int *r,int a,int b,int L) { return r[a]==r[b]&&
·
2015-11-11 09:57
substring
POJ 3261 Milk Patterns(
后缀数组
)
题目链接:http://poj.org/problem?id=3261 题意:找出至少出现m次的重复字串。 思路:二分答案,将h分组,同一组中的个数+1就是重复子串的个数。 int r[N],sa[N],wa[N],wb[N],wd[N],rank[N],h[N]; int cmp(int *r,int a,int b,int L) { return r[
·
2015-11-11 09:56
Pattern
SPOJ 694 Distinct Substrings(
后缀数组
)
题目链接:http://www.spoj.com/problems/DISUBSTR/ 题意:给定一个串,求不同的字串的个数。 思路:每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同的前缀的个数。如果所有的后缀按照suffix(sa[1]), suffix(sa[2]),suffix(sa[3]),……,suffix(sa[n])的顺序计算,不难发现,对于每一次新加进来的后
·
2015-11-11 09:56
substring
POJ 1743 Musical Theme(
后缀数组
)
题目链接:http://poj.org/problem?id=1743 题意:找出最长的不重叠重复串。 思路:求出h数组,二分答案k,按照k将h分组。在每组中的任意两个的串都满足前缀大于等于k。求出这些串中位置的最大最小值,差大于等于k就行。 int r[N],sa[N],wa[N],wb[N],wd[N],rank[N],h[N]; int cmp(int *r,int
·
2015-11-11 09:56
theme
hdu 3518 (
后缀数组
)
code:
后缀数组
处理,对于得到height 进行查找...
·
2015-11-11 08:40
后缀数组
poj3581Sequence(
后缀数组
)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Sequence Time Limit: 5000MS Memory Limit: 65536K Case Time
·
2015-11-11 08:47
sequence
POJ1743 - Musical Theme(
后缀数组
)
题目大意 给定一首乐谱,要求你求出它的主旋律,所谓的主旋律是符合以下三个条件的子串: 1、长度至少为5 2、至少重复出现两次 3、不允许重叠 题解 至于为什么可以进行二分判断,我搞好久都没懂,后面看了某位大牛的证明才知道为什么是这样子的,我直接把证明过程摘过来了: 给出一个关于LCP的定理LCP(SA[i], SA[j]) = RMQ(Height[i+1..j]).由此, 若存在k,
·
2015-11-11 06:25
theme
[小结]字符串专题
这些题其实都是
后缀数组
的基础题, 被我用哈希水了...
·
2015-11-11 06:54
字符串
POJ 3080 Blue Jeans
解题思路:将所有串链接在一起,中间用不同的分隔符分割,求解
后缀数组
Height,二分求解连续长度>=k的公共子串是否包含了所有情况。
·
2015-11-11 04:16
poj
字符串:KMP Eentend-Kmp 自动机 trie图 trie树 后缀树
后缀数组
个人代码示例
转自银河里的星星 涉及到字符串的问题,无外乎这样一些算法和数据结构:自动机 KMP算法 Extend-KMP 后缀树
后缀数组
trie树 trie图及其应用。
·
2015-11-11 04:11
后缀数组
BZOJ 2754 喵星球上的点名(
后缀数组
)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2754 题意:给出n个字典串,m个询问串。输出每个询问串出现在多少个字典串中。最后输出每个字典串中含有多少个询问串。 思路:将所有字典串和所有询问串连在一起求sa和h数组。统计时对于每个询问串,设长度为len,向前向后扫一下h值大于等于len的区间。然后在这个区间中看有多少个字典串,就
·
2015-11-11 03:20
后缀数组
HDU 4691 Front compression(
后缀数组
)
思路:求
后缀数组
。每次直接询问两个后缀的最长公共前缀。
·
2015-11-11 03:20
compression
poj2774 Long Long Message(
后缀数组
or后缀自动机)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Long Long Message Time Limit: 4000MS Memory Limit:
·
2015-11-11 02:21
message
【
后缀数组
】
后缀数组
是解决一系列字符串题目的利器,
后缀数组
中保留了这样的信息。sa[i]表示排名为第 i 位的后缀是从sa[i]开始的。通过倍增算法可以在O(nlogn)的时间复杂度内将所有的后缀进行排序。
·
2015-11-11 01:04
后缀数组
bestcoder#32 1002 哈希+
后缀数组
bestcoder#32 1002 哈希+
后缀数组
Negative and Positive (NP) Time Limit: 3000/1500 MS (Java/Others)  
·
2015-11-11 00:25
code
后缀数组
专题与代码模板
后缀数组
DA(倍增)算法求 SA[N] 与 Rank[N] (时间O(NlogN),空间O(N)) sa[i] : 表示 排在第i位的后缀 起始下标 rank[i]
·
2015-11-11 00:56
后缀数组
后缀数组
学习笔记
后缀数组
的用处:快速求出两个后缀Suffix(i), Suffix(j)的最长公共前缀(LCP, Longest Common Perfix)
后缀数组
的应用 先提出
后缀数组
的几种常用技巧:
·
2015-11-10 23:27
学习笔记
POJ 3261 可重叠的 k 次最长重复子串【
后缀数组
】
这也是一道例题 给定一个字符串,求至少出现 k 次的最长重复子串,这 k 个子串可以重叠。算法分析:这题的做法和上一题差不多,也是先二分答案,然后将后缀分成若干组。不同的是,这里要判断的是有没有一个组的后缀个数不小于 k。如果有,那么存在k 个相同的子串满足条件,否则不存在。这个做法的时间复杂度为 O(nlogn)。 我们可以通过二分子串的长度k来做,这时就将题目变成了是否存在
·
2015-11-10 23:27
后缀数组
Ural 1297 Palindrome 【最长回文子串】
article/details/6629268 http://blog.csdn.net/kangroger/article/details/37742639 在看
后缀数组
的时候碰到的这道题目
·
2015-11-10 23:25
ROM
URAL 1297 Palindrome
后缀数组
D - Palindrome Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Practice URAL 1297 Description T
·
2015-11-10 23:29
后缀数组
poj3261
后缀数组
+单调队列 注意:
后缀数组
的所有后缀中包括空串,因此有strlen(s)+1个后缀。
·
2015-11-10 22:49
poj
poj1743
分析:
后缀数组
,一定要注意,吉大的模板的nlogn算法,要初始化n=strlen(s) +1,另外,s,sa,rank一定要从0位置开始使用。height从1位置开始有意义。
·
2015-11-10 22:26
poj
POJ 3974 Palindrome 回文数 Manacher算法
该题貌似可以用
后缀数组
和扩展kmp做,但是好像
后缀数组
貌似会tle,改学了下一个专门的叫Manacher算法的东西。。。 该算法说起来也不是太复杂,比较容
·
2015-11-10 22:06
poj
HDU3518
后缀数组
求不可重叠重复出现的不同子串个数
枚举子串长度,根据height分组,如果本组sa最小值与sa最大值之差超过枚举的长度,则本组对于答案贡献为1。1#include 2#include 3#include 4#include 5#include 6#include 7#include 8#include 9#include 10#include 11#include 12#include 13#include
夢中花落
·
2015-11-09 21:00
hdu 4691 Front compression(
后缀数组
)
题目链接:hdu4691Frontcompression代码#include #include #include usingnamespacestd; constintmaxn=1e5+5; typedeflonglongll; structSuffix_Arr{ intn,s[maxn]; intSA[maxn],rank[maxn],height[maxn]; inttmp_one[ma
u011328934
·
2015-11-09 20:00
[poj 3261]Milk Patterns
后缀数组
搞一下就可以了喵~ 其实这道题的第一个想法是 SAM ,建完后缀自动机后拓扑排序跑一遍统计下每个子串的出现次数就 O(N) 就妥妥过掉了 后缀树也是 O(N) 的,统计一下每个节点对应的子树中有多少个叶子节点即可
·
2015-11-09 13:29
Pattern
[hdu 4622]Reincarnation
这道题是妥妥的后缀自动机裸题 学了后缀自动机后,我居然感觉这尼玛果然还是
后缀数组
最难了有木有!
·
2015-11-09 13:27
HDU
初学
后缀数组
后缀排序 Description Tim正在自学《数据结构》,他刚刚学会如何比较两个字符串大小。书上是这么说的(和Pascal语言中的比较规则相同,学习过Pascal语言的同学可以跳过这段): 比较两个不同字符串s1=’p1p2p3…pN’和s2=’q1q2q3…qM’的大小,设N<=M。 若s1是s2的前缀,则s1<s2。否则设pi<>qi,且i最
·
2015-11-09 12:18
后缀数组
spoj 7258 Lexicographical Substring Search(
后缀数组
| 后缀自动机)
题目链接:spoj7258LexicographicalSubstringSearch代码-
后缀数组
#include #include #include #include #include usingnamespacestd
u011328934
·
2015-11-09 11:00
总结与计划
还剩下的就是
后缀数组
了。继续搞字符
·
2015-11-08 16:56
总结
POJ3729 Facer’s string
后缀数组
&nbs
·
2015-11-08 14:43
String
POJ3581---Sequence 后缀树组
后缀数组
变一下,,先求出 第一个分割的位置,,然后再求一次
后缀数组
,,求出第二个位置。。输出就好了。 此题要采用单组输入。。。
·
2015-11-08 14:42
sequence
HDU 5008 Boring String Problem(
后缀数组
+二分)
题目链接 思路 想到了,但是木写对啊....代码 各种bug,写的乱死了.... 输出最靠前的,比较折腾... #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <cmath> #includ
·
2015-11-08 14:51
String
后缀数组
具体请看论文.... POJ 1743 Musical Theme 不重叠的最长重复子串 #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> using namespace std; #define N 20100
·
2015-11-08 14:50
后缀数组
开始ACM生涯了
本来想在Trie后面给大家讲讲
后缀数组
的,不过自己还不是很
·
2015-11-08 12:20
ACM
【挑战程序设计竞赛】
后缀数组
实现字符串匹配
字符串后缀Suffix 指的是从字符串的某个位置开始到其末尾的字符串字串
后缀数组
Suffix Array 指的是将某个字符串的所有后缀按字典序排序之后得到的数组,不过数组中不直接保存所有 的后缀子串
·
2015-11-08 12:01
程序设计
LightOJ 1314 Names for Babies(
后缀数组
)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1314 题意:求串A长度在[p,q]区间上的子串个数。 思路:求sa和height数组。每个位置sa[i]最多产生n-sa[i]个子串,min(q,n-sa[i])为实际产生的子串,其中有height[i]个重的,减去。 int r[N],s
·
2015-11-08 11:03
后缀数组
上一页
20
21
22
23
24
25
26
27
下一页
按字母分类:
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
其他