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
----后缀数组
[whu1564]
后缀数组
problem_id=1564 思路:先把串复制一遍,在末尾补个标记,
后缀数组
跑一下,扫一遍就ok了(过滤后缀在后半部分的)。
·
2015-11-02 16:38
后缀数组
【2012百度之星/资格赛】H:用户请求中的品牌 [
后缀数组
]
时间限制: 1000ms 内存限制: 65536kB 描述 馅饼同学是一个在百度工作,做用户请求(query)分析的同学,他在用户请求中经常会遇到一些很奇葩的词汇。在比方说“johnsonjohnson”、“duckduck”,这些词汇虽然看起来是一些词汇的单纯重复,但是往往都是一些特殊
·
2015-11-02 15:05
后缀数组
后缀数组
--总结
后缀数组
:SA是一个一维数组。将S的后缀从小到大排序后,后缀的开头位置顺次放入SA。
·
2015-11-02 15:47
后缀数组
字符串:KMP Eentend-Kmp 自动机 trie图 trie树 后缀树
后缀数组
涉及到字符串的问题,无外乎这样一些算法和数据结构:自动机 KMP算法 Extend-KMP 后缀树
后缀数组
trie树 trie图及其应用。
·
2015-11-02 11:31
后缀数组
POJ-3693 Maximum repetition substring
后缀数组
题目链接:http://poj.org/problem?id=3693 求字符串的重复次数最多的且字典序最小的字串。 很不错的题目。罗穗骞大牛论文的模板题,摘了Neo / Add ~0U>>1大牛的详细题解,如下: 首先求第一问最大重复数。从N的范围来看O(N^2)虽不靠谱,但是起码能带来些有用的启示。方法有二,一是枚举开头位置求重复长度;二是枚举重复长度求开头位
·
2015-11-02 11:51
substring
后缀数组
(基数排序)的具体分析
我看
后缀数组
,思想很容易懂,但是基数排序那边我确实理解了很久才理解,现在我写一份自己可以看懂的具体分析。
·
2015-11-02 10:17
后缀数组
数据结构之
后缀数组
概述
后缀数组
是一种解决字符串问题的有力工具。相比于后缀树,它更易于实现且占用内存更少。在实际应用中,
后缀数组
经常用于解决字符串有关的复杂问题。 本文大部分内容摘自参考资料[1][2]。 2.
·
2015-11-02 10:45
数据结构
后缀数组
后缀数组
是根据一个给定的字符串,然后取这个字符串的所有后缀,然后将后缀排序,生成两个数组,sa数组和rank数组 sa[i]存的是排名第i的字符串下标 rank[i]存的是以下标i开头的后缀的排名&
·
2015-11-02 09:15
后缀数组
后缀数组
在夏令营期间学习了作为一个字符串处理神器的
后缀数组
。
·
2015-11-01 14:25
后缀数组
[字符串统计] 字符串(八) {
后缀数组
的应用(下)}
{ 承上半部分 继续讨论
后缀数组
的应用 这一部分难度较大 需要对
后缀数组
有一个综合的了解 主要内容是借助Height数组解决问题 即Height分析 } 重贴一下关于Height
·
2015-11-01 14:01
后缀数组
[最优化子串] 字符串(七) {
后缀数组
的应用(上)}
{ 承接上一篇 会构造
后缀数组
之后 还需要讨论如何应用它 这里分重点分析
后缀数组
的应用 } 〇.
·
2015-11-01 14:01
后缀数组
[Pku 2774] 字符串(六) {
后缀数组
的构造}
{ 从这一篇开始介绍
后缀数组
一个强大的字符串处理工具 可以先研读罗穗骞的论文
后缀数组
——处理字符串的有力工具 再行阅读本文 本文仅作参考和补充 } 字符串的后缀很好理解
·
2015-11-01 14:00
后缀数组
SPOJ 694 (
后缀数组
) Distinct Substrings
将所有后缀按照字典序排序后,每新加进来一个后缀,它将产生n - sa[i]个前缀。这里和小罗论文里边有点不太一样。 height[i]为和字典序前一个的LCP,所以还要减去,最终累计n - sa[i] - height[i]即可。 1 #include <cstdio> 2 #include <cstring> 3 #include <algor
·
2015-11-01 14:35
substring
POJ 2774 (
后缀数组
最长公共字串) Long Long Message
用一个特殊字符将两个字符串连接起来,然后找最大的height,而且要求这两个相邻的后缀的第一个字符不能在同一个字符串中。 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 const int max
·
2015-11-01 14:35
message
POJ 3693 (
后缀数组
) Maximum repetition substring
找重复次数最多的字串,如果有多解,要求字典序最小。 我也是跟着罗穗骞菊苣的论文才刷这道题的。 首先还是枚举一个循环节的长度L,如果它出现两次的话,一定会包含s[0], s[L], s[2L]这些相邻两个之间。 然后枚举相邻的两个,尽可能的向前和向后延伸,假设延伸长度为k,则重复次数为k / L + 1 向后延伸很自然的就是求一次LCP,这个用RMQ预处理一下就可以O(1)查询。 向前延伸
·
2015-11-01 14:34
substring
POJ 3261 (
后缀数组
二分) Milk Patterns
这道题和UVa 12206一样,求至少重复出现k次的最长字串。 首先还是二分最长字串的长度len,然后以len为边界对height数组分段,如果有一段包含超过k个后缀则符合要求。 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespa
·
2015-11-01 14:33
Pattern
UVa 12206 (字符串哈希) Stammering Aliens
也许这道题的正解是
后缀数组
,但Hash做法的优势就是编码复杂度大大降低。
·
2015-11-01 14:32
字符串
POJ 1743 (
后缀数组
二分) Musical Theme
看来对height数组进行分段确实是个比较常用的技巧。 题意: 一个主题是可以变调的,也就是如果这个主题所有数字加上或者减少相同的数值,可以看做是相同的主题。 一个主题在原串中至少要出现两次,而且一定要有不相交的两次。 因为说了可以变调,所以我们处理每相邻两项的差值,这样就得到n-1个数字。然后找最大的不相交重复的连续子序列即可。 找这样的子序列还是要二分子序列的长度k,然后根据k对he
·
2015-11-01 14:28
theme
UVa 11107 (
后缀数组
二分) Life Forms
利用height值对后缀进行分组的方法很常用,好吧,那就先记下了。 题意: 给出n个字符串,求一个长度最大的字符串使得它在超过一半的字符串中出现。 多解的话,按字典序输出全部解。 分析: 在所有输入的字符串后面加一个原串中没有的且互不相同的字符,然后将新得到的n个字符串拼接成一个长的字符串。(为什么要加互不相同的分割字符,这里始终想不明白) 首先二分最大公共字串的长度p。扫描一遍hei
·
2015-11-01 14:27
form
poj3693(
后缀数组
)
http://poj.org/problem?id=3693 题意:给出一串字符,需要求这串字符中的最长重复子串,要是有多个,输出字典序最小的......... 我自己的一些想法:这个思路我一开始倒是没有看明白,慢慢的编下去,才懂了它到底是如何操作的......其实就是枚举多少个字符会匹配,然后求出它们的height值,再用这个值去除以长度,得到有多少个循环........
·
2015-11-01 14:15
后缀数组
poj1743(
后缀数组
)
http://poj.org/problem?id=1743 题意:给出一串字符,求不重合的最长重复子串.......... 我自己的一点想法:编完后发现,其实就是将height值分组,然后记录在二分答案时满足height值>=p的sa[i]的最大最小值,然后要是最大值减去最小值会>=p,这就说明两个子串的lcp值>=p并且它们的坐标也相差>=p,就自然满足题意
·
2015-11-01 14:15
后缀数组
《黑书》
后缀数组
学习笔记......
最近看黑书看到数据结构之
后缀数组
了,以前没有搞过
后缀数组
,初学起来感觉比较难,网上参考了两种
后缀数组
学习笔记,以及罗穗骞倍增算法代码,这里附上链接:http://tieba.baidu.com/f?
·
2015-11-01 14:13
学习笔记
HDU-4552 怪盗基德的挑战书 KMP |
后缀数组
| 暴力
比赛的时候使用
后缀数组
写的,后来比完后发现KMP+DP完全可以搞,当时沙茶了- -。
·
2015-11-01 14:04
后缀数组
poj2774
分析:一道
后缀数组
的题,构造
后缀数组
有两种算法,dc3和倍增,效率分别为O(n)和O(nlogn),但前者的实现较困难。
·
2015-11-01 13:51
poj
LA 6856 Circle of digits 解题报告
题目链接 先用
后缀数组
给串排好序。
·
2015-11-01 12:06
git
后缀数组
height 数组的构建
http://churuimin425.blog.163.com/blog/static/34129877201141005542104/ 先转一个
后缀数组
的简单总结:
后缀数组
就是将字符串所有后缀排序后的数组
·
2015-11-01 12:23
height
信息>
后缀数组
学习笔记--
后缀数组
解题方法总结
kz=754580296 转自 FHNstephen的空间
后缀数组
是处理字符串的有力工具。
·
2015-11-01 08:56
学习笔记
POJ 1226 Substrings
但为了练一练
后缀数组
,所以就用
后缀数组
写了。
·
2015-10-31 19:02
substring
POJ 2774 Long Long Message
用
后缀数组
的做法处理出height数组后,扫描一遍height[],如果sa[i-1]和sa[i]的位置分别在两个字符串中且heig
·
2015-10-31 19:00
message
URAL 1297 Palindrome
URAL_1297 找回文串最直观的一个算法就是枚举中间的点,然后向两边查找,看最后能拓展多远,但是这样是n^2的算法,利用
后缀数组
可以达到O(nlogn)的复杂度
·
2015-10-31 19:59
ROM
poj3693之
后缀数组
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5946 Accepted: 1799 Description The repetition number of a string is define
·
2015-10-31 18:52
后缀数组
POJ3294--Life Forms
后缀数组
+二分答案 大于k个字符串的最长公共子串
&nbs
·
2015-10-31 18:09
form
hdu 4622 Reincarnation(
后缀数组
)
解题思路:09年的
后缀数组
论文里有一个类似的题,求一个字串的不同字串有多少个。问不同的字串有多少个,即问对于每一个后缀,它的所有前
·
2015-10-31 17:37
后缀数组
编程珠玑总结
b、收集相同项:使用排序来收集序列中相同的项,
后缀数组
收集相同的单词。 2、算法 a、插入排序:O(n^2)的最坏时间,如果给一个大致有序的数组进行排序,则只需要O(n)时间,是稳定的。
·
2015-10-31 16:06
编程珠玑
BZOJ3796 : Mushroom追妹纸
将S1与S2用#号拼接在一起形成S串 将S3与S串跑KMP求出S3在S串中每次出现的位置l[i] 对于S串每个后缀i,求出f[i]表示该串不包含S3串的最长前缀 然后求出S串的
后缀数组
先从小到大扫描
后缀数组
·
2015-10-31 16:02
oom
【总结】
后缀数组
后缀数组
:SA是一个一维数组。将S的后缀从小到大排序后,后缀的开头位置顺次放入SA。
·
2015-10-31 15:34
后缀数组
poj 3294 Life Forms (
后缀数组
)
http://poj.org/problem?id=3294 依旧二分判定,只是要先找出最大长度,然后在根据这个长度再判定输出。对于长度相同的,用tag标记以免重复。 code: #include<cstdio> // 最长公共子串 #include<cstring> #define Max(a, b)
·
2015-10-31 15:56
form
poj 1226 Substrings (
后缀数组
)
后缀数组
,将所有的字符串及其子串连接起来,用分隔符隔开,并给每个字符串及反串的字符标记所在串。二分答案,看是否有n个字符串或者其反串存在长为mid的公共前缀。
·
2015-10-31 15:54
substring
poj 1743 Musical Theme (
后缀数组
)
id=1743
后缀数组
的简单应用。求不重叠最长重复子串。
·
2015-10-31 15:53
theme
poj 3450 Corporate Identity (
后缀数组
)
id=3450 假期做过这题,当时是用KMP做的,这次用
后缀数组
。
·
2015-10-31 15:47
entity
poj 3080 Blue Jeans (
后缀数组
)
http://poj.org/problem?id=3080 还是和3450一样的。 code: #include<cstdio> // 最长公共子串 #include<cstring> #define Max(a, b) a>b?a:b const int maxn&nbs
·
2015-10-31 15:46
后缀数组
poj 2774 Long Long Message (
后缀数组
)
http://poj.org/problem?id=2774 给两个字符串,求最长公共子串。 这里比较好处理,把两个字符串连接到一起,在中间加个分隔符。求出sa, height数组,只要得出分属于两个字符串的前缀的height值的最大值即可。 这里有更详细的说明http://hi.baidu.com/fhnstephen/blog/item/8666a400cd949d7b3812bb
·
2015-10-31 15:46
message
bcl 1387 最长重复子串 (
后缀数组
)
id=1387 第一道
后缀数组
,求出最大的height值即可。更多的是当个模板用吧。
·
2015-10-31 15:44
后缀数组
poj - 1002 - 487-3279
id=1002 ——>>本来题目很水的,在刷
后缀数组
,中间有个基数排序的东西,于是用基数排序来做这题。。。 #include <cstdio&g
·
2015-10-31 13:57
poj
CF 504E Misha and LCP on Tree(树链剖分+
后缀数组
)
然后对大串求
后缀数组
。最后询问就是在一些链上的查询。 树链剖分总是那么优秀。。 const int
·
2015-10-31 12:47
tree
HDU 4622 多校第三场1002 后缀自动机
比赛的时候我是用
后缀数组
的,但是T了。 赛后看了解题报告说,
后缀数组
貌似是卡你常数的时间,我算了下复杂度O(T * Q * n)。
·
2015-10-31 12:20
HDU
AHOI2013 Round2 Day2 简要题解
here 第三题:
后缀数组
+单调栈。
后缀数组
我写的是nlogn的,如果
·
2015-10-31 12:35
round
BZOJ3998 : [TJOI2015]弦论
求本质不同的第k小子串:求出
后缀数组
,从0开始扫到n-1,到sa[i]为止一共有sum[i]个本质不同的子串sum[i]=sum[i-1]+n-sa[i]-height[i]直到sum[i]>=k
·
2015-10-31 11:52
ZOJ
后缀数组
【1】一些定义:字符串:广义的字符串是指“元素类型有序,且元素值有一定范围的序列”,其元素不一定非要是字符,可以是数字等,因此整数、二进制数等也是字符串;字符集:字符串的元素值的范围称为字符集,其大小记为SZ。字符串的长度:字符串中元素的个数,一般记为N,长度为N的字符串A第一次提到时一般用A[0..N-1]来表示;前缀:字符串A[0..N-1]的从A[0]开始的若干个连续的字符组成的字符串称为A
·
2015-10-31 11:11
后缀数组
poj 3294 Life Forms
后缀数组
的题目,把后缀连接起来,这个还是先二分答案,然后选取一段连续的height值,判断这些height代表的后缀有没有覆盖一半以上的字符串。
·
2015-10-31 11:22
form
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
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
其他