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
----后缀数组
POJ 3294 Life Forms (
后缀数组
,求出现在不少于k个字符串的最长子串)
Life Forms Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 7322 Accepted: 2011 Description You may have wondered why most extraterrestria
·
2015-10-31 11:48
form
POJ 3415 Common Substrings (
后缀数组
,长度不小于k的公共子串的个数)
Common Substrings Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5495 Accepted: 1822 Description A substring of a string T is
·
2015-10-31 11:48
substring
POJ 1743 Musical Theme (
后缀数组
,求最长不重叠重复子串)
Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14334 Accepted: 4945 Description A musical melody is represented as a sequen
·
2015-10-31 11:47
theme
POJ 3261 Milk Patterns (
后缀数组
,求可重叠的k次最长重复子串)
Milk Patterns Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 7586 Accepted: 3448 Case Time Limit: 2000MS Description Farmer John
·
2015-10-31 11:47
Pattern
URAL 1297 Palindrome(
后缀数组
求最长回文子串)
Palindrome Time Limit:1000MS Memory Limit:16384KB 64bit IO Format:%I64d & %I64u Submit Status Appoint description:
·
2015-10-31 11:47
后缀数组
POJ 3693 Maximum repetition substring (
后缀数组
+RMQ 求重复最多的连续子串)
Maximum repetition substring Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5292 Accepted: 1573 Description The repetition number of a s
·
2015-10-31 11:47
substring
poj 3294 Life Forms(
后缀数组
)
题意:给你最多100个字符串,求最长的且是一半以上的字符串的公共子串,如果有多个,按字典序输出。 思路:先把各个串拼起来,中间加上一个之前未出现过的字符,然后求后缀。然后根据h数组和sa数组,求出最长的公共串。 #include<stdio.h> #include<string.h> #include<algorithm> using
·
2015-10-31 11:13
form
poj 1743
后缀数组
求最长不重叠重复子串
题意:有N(1 <= N <=20000)个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,现在要找一个重复的主题。 “主题”是整个音符序列的一个子串,它需要满足如下条件:1.长度至少为5个音符2.在乐曲中重复出现(可能经过转调,“转调”的意思是主题序列中每个音符都被加上或减去了同一个整数值。)3.重复出现的同一主题不能有公共部分。 链接:点我先转化成相邻两项
·
2015-10-31 10:30
后缀数组
poj 3693
后缀数组
链接:点我 1 /* 2 * POJ 3693 Maximum repetition substring 3 * 先穷举长度L,然后求长度为L的子串最多能连续出现多少次 4 * 既然长度为L的串重复出现,那么str[0],str[l],str[2*l]……中肯定有两个连续的出现在字符串中。 5 那么就枚举连续的两个,然后从这两个字符前后匹配,看最多能匹配多远。
·
2015-10-31 10:30
后缀数组
整理下最近的手抄纸
那些优雅的数据结构: bloomfilter 线段树 树状数组 trie树 后缀树
后缀数组
并查集 hash表 b树 红黑树 堆与优先队列 hash算法提供了一种快速存取数据的方法,他用一种算法建立键值与真实值之间的联系
·
2015-10-31 10:28
后缀数组
(O(n)三分实现)
比起WC关于
后缀数组
的倍增法,要更有效率,由于模版使用的是指针,所以在new和delete处效率会有所消耗 来自NIT的
后缀数组
模版 注意在字符串间加入特殊符号进行区分 避免LCP越界
·
2015-10-31 10:01
后缀数组
POJ-3261 Milk Patterns
后缀数组
先用
后缀数组
求出height数组,然后二分答案。
·
2015-10-31 10:58
Pattern
POJ-2774 Long Long Message
后缀数组
题目链接:http://poj.org/problem?id=2774 两个字符串的最长公共字串。 求出height数组后直接二分答案就可以了,或者线性扫描一遍。 1 //STATUS:C++_AC_594MS_4800KB 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<
·
2015-10-31 10:58
message
POJ-3415 Common Substrings
后缀数组
题目链接:http://poj.org/problem?id=3415 求两个串的长度不小于K的公共字串的个数。 利用height[]来维护一个单调递增的栈,即栈保存的是满足要求的heigiht数组的最小值,附加维护栈中相邻两个元素之间的个数。 1 //STATUS:C++_AC_813MS_6532KB 2 #include<stdio.h> 3
·
2015-10-31 10:58
substring
POJ-3294 Life Forms
后缀数组
一般的算法就是
后缀数组
加二分,复杂度O(n*logn)。
·
2015-10-31 10:58
form
POJ-1743 Musical Theme
后缀数组
题目链接:http://poj.org/problem?id=1743 题意:给一些数字串,当做韵律,相同的韵律必须满足: 1,最少5个数字长; 2,重复出现的时候,必须相对差值一样,比如{ 1 ,2, 3, 22, 10, 11, 12 },1,2,3
·
2015-10-31 10:57
theme
后缀数组
-倍增算法模板
关于
后缀数组
的资料,可以看NOI2009国家集训队论文 罗穗骞 的<
后缀数组
——处理字符串的有力工具>。
·
2015-10-31 10:57
后缀数组
POJ-3974 Palindrome Manacher算法
id=3974 Manacher算法效率真不错,用
后缀数组
A的都沙茶了。。
·
2015-10-31 10:56
poj
后缀数组
题目集锦
基础题 : 论文其实写的很详细了,但是模板可能有点难看懂,需要花点时间去搞,建议一开始的时候写个nlogn^2的算法,推荐watashi翻译的那本书里面的讲解与代码实现,灰常清晰,其实也就是倍增排序的时候用快速排序来做,虽然时间上慢了点,但是对深刻理解SA RANK HEIGHT这三个数组有很大的好处,比赛的时候还是用论文里面的模板吧,速度快。 &nb
·
2015-10-31 10:31
后缀数组
hdu3948(
后缀数组
)
题意:给一串字符,需要你求不相同的回文子串个数....... 同ural1297,链接:http://www.cnblogs.com/ziyi--caolu/archive/2013/06/09/3129877.html #include<iostream> #include<stdio.h> #include<string.h> using nam
·
2015-10-31 09:48
后缀数组
poj2774(
后缀数组
水题)
思路:先用个分隔符将两个字符串连接起来,再用
后缀数组
求出height数组的值,找出一个height值最大并且i与i-1的sa值分别在两串字符中就好.....
·
2015-10-31 09:48
后缀数组
spoj687(
后缀数组
)
http://www.spoj.com/problems/REPEATS/ 题意:给一串字符,需要你求这一串字符中有连续重复的字符的重复次数....... 思路:这是和poj3693一种类型的题目......这里是详细解答:http://www.cnblogs.com/ziyi--caolu/p/3193823.html 注意:还需注意的地方,我一直图方便,再求lcp值时,总是从height
·
2015-10-31 09:48
后缀数组
poj3261(
后缀数组
)
题意:给出一串长度为n的字符,再给出一个k值,要你求重复次数大于等于k次的最长子串长度........ 思路:其实也非常简单,直接求出height值,然后将它分组,二分答案......结果就出来了....... #include<iostream> #include<stdio.h> #include<string.h> #include<al
·
2015-10-31 09:48
后缀数组
poj2082单调栈
本来实在做
后缀数组
的题目的,不巧,碰到了pku3415这题,需要用到单调栈来维护,但是之前又没有学习过单调栈这方面的知识,于是水了几题.......
·
2015-10-31 09:47
poj
【
后缀数组
、最长回文字串】ural1297
http://acm.timus.ru/problem.aspx?space=1&num=1297 题意:求一串字符串的最长回文字串....... 思路:在原串后面加一个独一无二的字符,再把原串倒过来接在原串后面。这样,要是有回文串的话,其必然有两个后缀的前缀相同这样,我们就可以枚举以每个字符为(k)中心的回文串,再找到它倒过来后所对应的那个位置2*len-sa[k],找到排在这之间的
·
2015-10-31 09:47
后缀数组
[
后缀数组
、不重复子串]SPOJ694、spoj705--Distinct Substrings
思路:用
后缀数组
可以轻松解决。
·
2015-10-31 09:47
substring
ural1517
后缀数组
题意:求两串字符(0————255)的最长公共字串 思路:先将两个字符链接起来,中间用一个不曾出现过的字符,然后直接求出height数组,然后根据它的特性,求出最长的公共字串,当然这个最长公共字串的坐标要符合一个在第一个串中,另一个在另一串中....这个好处理,直接根据sa数组特性,sa[i-1],sa[i]........可知 #include<iostream> #incl
·
2015-10-31 09:47
后缀数组
后缀树和
后缀数组
的一些资料收集
后缀树(Suffix tree)是一种数据结构,能快速解决很多关于字符串的问题。后缀树的概念最早由Weiner 于1973年提出,既而由McCreight 在1976年和Ukkonen在1992年和1995年加以改进完善。 后缀树提出的目的是用来支持有效的字符串匹配和查询。 一个具有m个词的字符串S的后缀树T,就是一个包含一个根节点的有向树,该树恰好带有m个叶子,这些叶子被赋予从1到m的标号。
·
2015-10-31 09:48
后缀数组
POJ3415 Common Substrings
后缀数组
求长度不小于k的公共子串的个数 代码: 1 #include <stdio.h> 2 #include <string.h> 3
·
2015-10-31 09:54
substring
Codeforces 427 D. Match & Catch
后缀数组
.... 在两个串中唯一出现的最小公共子串 D.
·
2015-10-31 09:29
codeforces
HDU 4552 怪盗基德的挑战书(
后缀数组
)
怪盗基德的挑战书 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 345 Accepted Submission(s): 163 Problem De
·
2015-10-31 09:16
后缀数组
poj 3693 Maximum repetition substring (
后缀数组
)
其实是论文题。。 题意:求一个字符串中,能由单位串repeat得到的子串中,单位串重复次数最多的子串。若有多个重复次数相同的,输出字典序最小的那个。 解题思路:其实跟论文差不多,我看了很久没看懂,后来总算理解了一些。假设我们的单位串长度为l,那么我们将串划分为s[0] , s[l] , s[2*l] , s[3*l]。。这样,可以根据l划分为n/l段。枚举一个j,表示当前枚举的位置为s[j*l
·
2015-10-31 09:32
substring
字符串处理之Trie树, 后缀树和
后缀数组
Trie树 Trie,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie有3个基本性质: 根节点不包含字符,除根节点外每一个节点都只包含一个字符。 从根节点到某一节点,路径上经过的字符连接起来,为该节点对
·
2015-10-31 08:36
字符串处理
bzoj 1031: [JSOI2007]字符加密Cipher
后缀数组
1031: [JSOI2007]字符加密Cipher Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/problem/show/1590 Description 喜欢钻研问题的JS 同学,最近又迷上了对加密方法的思考。一天,他突然想出了一种他认为是终极的加密办法:把
·
2015-10-31 08:02
后缀数组
砖提1
线段树,后缀树(KMP,AC自动机),
后缀数组
,树状数组 1.树形dp hdu 1011 题意http://www.cnblogs.com/183zyz/archive/2011/07/19/2110983
·
2015-10-31 08:15
后缀数组
的基本定义
也就是说suffix(i)=r[i..len(s)];
后缀数组
:
后缀数组
sa是一个一维数组,它保存的是1..n的某个排列.
·
2015-10-31 08:15
后缀数组
后缀数组
DC3算法实现
算法模板: View Code #define F(x) ((x)/3+((x)%3==1?0:tb)) #define G(x) ((x)<tb?(x)*3+1:((x)-tb)*3+2) int wa[maxn],wb[maxn],wv[maxn],ws[maxn]; int c0(int *r,int a,int b) {return r[a]==r[b]&
·
2015-10-31 08:15
后缀数组
poj 2774 Long Long Message(
后缀数组
)
题目链接:poj2774LongLongMessage代码#include #include #include usingnamespacestd; constintmaxn=100005*4; structSuffix_Arr{ intn,s[maxn]; intSA[maxn],rank[maxn],height[maxn]; inttmp_one[maxn],tmp_two[maxn]
u011328934
·
2015-10-30 23:00
poj 1743 Musical Theme(
后缀数组
)
题目链接:poj1743MusicalTheme代码#include #include #include usingnamespacestd; constintmaxn=2*1e4+5; structSuffix_Arr{ intn,s[maxn]; intSA[maxn],rank[maxn],height[maxn]; inttmp_one[maxn],tmp_two[maxn],c[20
u011328934
·
2015-10-30 23:00
回文树引发的思考(一)
回文串的题目,除了用回文树去做,还可以用强大、牛掰的
后缀数组
去做,无论哪种方法,关键都是去重,也就是把每个长的不一样的回文串提取出来,注意这里区分两个回文串的方法是长的一不一样,而不是所在母串里的位置是否相同
UESTC_peterpan
·
2015-10-30 19:00
回文树
URAL 1960 Palindromes and Super Abilities(回文树)
id=45002解法:这个问题涉及到去重,用manacher似乎并不是那么好做,用
后缀数组
的话,又会遇到“相同回文串分布在不同位置,所以不好统计“的问题,用回文树的话,就会比较方便。
UESTC_peterpan
·
2015-10-30 17:00
数据结构
字符串
回文树
后缀数组
,LCP
http://chencb.ycool.com/post.1901840.html 今天把
后缀数组
给看了下,评价就一句话:很好,很强大懒得写废话,直接把相关重点简单记录一下:
后缀数组
就是将字符串所有后缀排序后的数组
·
2015-10-30 15:33
后缀数组
后缀数组
在 字符串处理当中,后缀树和
后缀数组
都是非常有力的工具,其中后缀树大家了解得比较多,关于
后缀数组
则很少见于国内的资料。
·
2015-10-30 14:42
后缀数组
后缀数组
题目
hdu 3948 1 /* 2 题意:给你一个串,求该串的不同子回文串的个数; 3 4 分析:首先我们想一下一个比较简单的问,求一个串的不同子串的个数 5 显然每个子串都是一个后缀的前缀,那么只要按照SA[]统计该后缀i的前缀 6 有那些是出现过的,也就是ans+=len[该后缀长]-height[i]; 7 8 9 同样的道理,我们先
·
2015-10-30 14:16
后缀数组
POJ 3415
后缀数组
+单调栈
题目大意: 给定A,B两种字符串,问他们当中的长度大于k的公共子串的个数有多少个 这道题目本身理解不难,将两个字符串合并后求出它的
后缀数组
然后利用
后缀数组
求解答案 这里一开始看题解说要用栈的思想
·
2015-10-30 14:11
后缀数组
URAL 1297 求最长回文字符串
这算出来的回文字符串是奇数长度的 还有偶数长度的回文字符串就是以当前扫到的点和它左边的点作为中心,然后往左右扫 这是O(n^2)的复杂度,这道题过还是没有问题的 这里我主要练习的是另外的利用
后缀数组
加
·
2015-10-30 14:05
字符串
POJ 1743
后缀数组
减一个数得到一个新的序列,也可以看作是相同的 那么也就是说这道题目可以转化成找到两个子序列,这两个子序列中每个数前后的差值是相等的 所以我们可以求所有数两两之间的差值,然后根据这个值建立
后缀数组
后
·
2015-10-30 14:05
后缀数组
后缀数组
的学习
学之前个人觉得还是应该看一下罗穗骞的
后缀数组
的国家集训队论文,虽然一开始很难看懂(反正我基本上是完全没看懂,现在距离我第一次看那篇文章也过去了1个多月,看了很多别人的论文,现在个人感觉也只是明白了一个大概
·
2015-10-30 14:04
后缀数组
转一个
后缀数组
的简单总结:
后缀数组
就是将字符串所有后缀排序后的数组,设字符串为S,令后缀Suffix(i)表示S[i..len(S)]。
·
2015-10-30 13:56
后缀数组
后缀数组
总结
2009-10-25 09:05
后缀数组
是处理字符串的有力工具,
后缀数组
可以解决大多数后缀树解决的问题,由于它的实现要比后缀树简单,因此深受广大ACM爱好者的喜爱,当然还是有一些问题只有后缀树能解决的问题
·
2015-10-30 13:55
后缀数组
上一页
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
其他