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
----后缀数组
HDU 5558
后缀数组
点击打开链接题意:从第一个字符开始,找到一个从0到当前位置i之前的与i开始的字符串的最长匹配长度及位置,长度相同时,要位置小的,若存在,位置+最长长度,否则+1思路:15年合肥的现场题目,据说牌子发不完了,这道题的题目数据变弱后才可以将牌子发光,HDU的应该也是弱数据的版本,但是也不太好处理,看了大牛的思路才自己照着样子写了写,大牛的做法,其实我就是完全的按照神犇的做法写的,大家可以去看他的博客,
Dan__ge
·
2016-06-01 17:40
数据结构
后缀数组
线段树
HDU 5558
后缀数组
点击打开链接题意:从第一个字符开始,找到一个从0到当前位置i之前的与i开始的字符串的最长匹配长度及位置,长度相同时,要位置小的,若存在,位置+最长长度,否则+1思路:15年合肥的现场题目,据说牌子发不完了,这道题的题目数据变弱后才可以将牌子发光,HDU的应该也是弱数据的版本,但是也不太好处理,看了大牛的思路才自己照着样子写了写,大牛的做法,其实我就是完全的按照神犇的做法写的,大家可以去看他的博客,
Dan__ge
·
2016-06-01 17:00
数据结构
ACM
后缀数组
HDU
POJ 3294
后缀数组
+二分
然后在这个长度的基础上,有多少子串是符合的,按字典序输出思路:先将最长公共子串的长度求出来,然后再跑一遍,将长度符合的找出来输出就行了,PS:昨天晚上调了几个小时的bug,妹的根本就不需要自己排序,用
后缀数组
先符合的肯定是字典序最小的嘛
Dan__ge
·
2016-05-20 08:50
数据结构
二分
后缀数组
线段树
POJ 3294
后缀数组
+二分
然后在这个长度的基础上,有多少子串是符合的,按字典序输出思路:先将最长公共子串的长度求出来,然后再跑一遍,将长度符合的找出来输出就行了,PS:昨天晚上调了几个小时的bug,妹的根本就不需要自己排序,用
后缀数组
先符合的肯定是字典序最小的嘛
Dan__ge
·
2016-05-20 08:00
数据结构
ACM
poj
后缀数组
POJ 3450 3080
后缀数组
+二分
点击打开链接题意:问所有串的最长公共子序列思路:
后缀数组
处理两个串的最长公共子序列用
后缀数组
非常简单就可以完成,这个多串的也一样,和两个串的处理方式相同,不多说#include #include #include
Dan__ge
·
2016-05-19 12:00
数据结构
ACM
poj
后缀数组
UOJ#35 —— 后缀排序
1、题目大意:
后缀数组
模板题2、分析:汝佳的书上的代码的有bug,还有那个n是字符串长度+1,‘’也要加入排序的存个模板QAQ#include #include #include #include usingnamespacestd
qzh_1430586275
·
2016-05-18 11:00
后缀数组
35
uoj
后缀排序
POJ 3693
后缀数组
+RMQ
点击打开链接题意:问连续重复部分最多的串是什么,不能重叠,且我们要字典序最小的串如xbcabcab,有bcabca重复次数为2,cabcab重复次数也为2,那么要前边那个思路:以前写过一个类似的,SPOJ687,这个只是求连续重复部分最多的串的次数,并不需要将按字典序最小串输出,那么我们可以用到SPOJ687的代码,用它我们可以求出那个重复的次数和满足这个次数的串的长度,那么就只差找到字典序最小的
Dan__ge
·
2016-05-16 16:23
数据结构
RMQ
后缀数组
线段树
POJ 3693
后缀数组
+RMQ
点击打开链接题意:问连续重复部分最多的串是什么,不能重叠,且我们要字典序最小的串如xbcabcab,有bcabca重复次数为2,cabcab重复次数也为2,那么要前边那个思路:以前写过一个类似的,SPOJ687,这个只是求连续重复部分最多的串的次数,并不需要将按字典序最小串输出,那么我们可以用到SPOJ687的代码,用它我们可以求出那个重复的次数和满足这个次数的串的长度,那么就只差找到字典序最小的
Dan__ge
·
2016-05-16 16:00
数据结构
ACM
后缀数组
POJ 1743
后缀数组
问最长的两段连续子串的长度,且两段不重复,这两段可以是这样的第一段的每个数字加或减同一个数,形成的第二段思路:楼爷的男人8题果然有水准,用自己风格写的代码WA数十次,终于找到坑点,先将数字的差值计算出来,求
后缀数组
和高度数组
Dan__ge
·
2016-05-16 13:00
数据结构
ACM
后缀数组
bzoj 4278: [ONTAK2015]Tasowanie (
后缀数组
)
4278:[ONTAK2015]TasowanieTimeLimit: 10Sec MemoryLimit: 256MBSubmit: 161 Solved: 77[Submit][Status][Discuss]Description给定两个数字串A和B,通过将A和B进行二路归并得到一个新的数字串T,请找到字典序最小的T。Input第一行包含一个正整数n(1 #include #includ
clover_hxy
·
2016-05-12 16:00
[BZOJ1717][Usaco2006 Dec]Milk Patterns 产奶的模式(
后缀数组
)
题目描述传送门题解先二分答案,然后将后缀分成若干组。判断有没有一个组的后缀个数不小于k。如果有,那么存在k个相同的子串满足条件,否则不存在。代码#include #include #include usingnamespacestd; constintmax_n=2e4+5; constintmax_m=1e6+5; intn,k,l,r,mid,ans,m=1e6+1; ints[max_n
Clove_unique
·
2016-05-11 19:00
后缀数组
bzoj
bzoj 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式(
后缀数组
)
1717:[Usaco2006Dec]MilkPatterns产奶的模式TimeLimit: 5Sec MemoryLimit: 64MBSubmit: 903 Solved: 495[Submit][Status][Discuss]Description农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠。我们称之
clover_hxy
·
2016-05-11 17:00
后缀数组
的学习(POJ3581)(POJ2774)
SequenceTimeLimit: 5000MS MemoryLimit: 65536KTotalSubmissions: 6333 Accepted: 1374CaseTimeLimit: 2000MSDescriptionGivenasequence,{A1, A2,..., An}whichisguaranteed A1 > A2,..., An, youaretocutitintothr
huatian5
·
2016-05-11 17:00
poj
后缀数组
【BZOJ4319】cerc2008 Suffix reconstruction【构造】【
后缀数组
】
【题目链接】将排序好的后缀列出来,每次比较相邻后缀的第二个字符开始的后缀的rank,如果排在前面的后缀的第二个字符开始的后缀的rank比排在后面的大,那么显然后面的后缀的第二个字符就要+1了。/*TelekineticForestGuard*/ #include #include #include usingnamespacestd; constintmaxn=500005; intn,sa
BraketBN
·
2016-05-11 16:00
后缀数组
模板 (敲定)
#include#include#includeusingnamespacestd;constintmax_n=2e5+5;intn,m=300,sa[max_n],c[max_n],x[max_n],y[max_n],rank[max_n],height[max_n];chars[max_n];inlinevoidbuild_sa(){for(inti=0;i=0;--i)sa[--c[x[i]
Clove_unique
·
2016-05-11 13:00
算法及模版
后缀数组
后缀数组
模板 (敲定)
#include #include #include usingnamespacestd; constintmax_n=2e5+5; intn,m=300,sa[max_n],c[max_n],x[max_n],y[max_n],rank[max_n],height[max_n]; chars[max_n]; inlinevoidbuild_sa(){ for(inti=0;i=0;--i)
Clove_unique
·
2016-05-11 13:00
后缀数组
[SCU 4504] 奶牛合影 (最小表示法)
SCU-4504给定一个循环串,问从哪个位置剖分能使得字典序最小最小表示法裸题,
后缀数组
裸题然而
后缀数组
我还不太会构造所以转而学习了一下最小表示法朴素算法:将原数组复制一遍枚举两个串的开头p1,p2,依次比较两个串的每一位每当
u012015746
·
2016-05-11 12:00
后缀数组
模板
后缀数组
模板,理解了两个晚自习,写成了我特有的风骚的代码...
Monster__Yi
·
2016-05-10 23:00
模板
后缀数组
后缀数组
http://blog.csdn.net/hackbuteer1/article/details/7968623问题描述给定一个字符串,求出其最长重复子串例如:abcdabcd最长重复子串是abcd,最长重复子串可以重叠例如:abcdabcda,这时最长重复子串是abcda,中间的a是被重叠的。首先,如果输入字符串存储在c[0..n-1]中,那么就可以使用类似于下面的代码比较每对子字符串:[cpp
wejoncy
·
2016-05-09 09:00
后缀数组
POJ 1509
后缀数组
点击打开链接题意:给个串问最小的后缀,但是这个串是个环思路:是个环也好处理,那么就将串复制一遍加到后面就行了,然后求出
后缀数组
和高度数组,刚开始我写的是就求出
后缀数组
sa,然后从排名第1开始找,比如找到了
Dan__ge
·
2016-05-08 16:00
数据结构
ACM
poj
后缀数组
POJ 1509
后缀数组
点击打开链接题意:给个串问最小的后缀,但是这个串是个环思路:是个环也好处理,那么就将串复制一遍加到后面就行了,然后求出
后缀数组
和高度数组,刚开始我写的是就求出
后缀数组
sa,然后从排名第1开始找,比如找到了
Dan__ge
·
2016-05-08 16:00
数据结构
ACM
poj
后缀数组
UVA 10829 L-Gap Substrings
大概说一下思路,首先用
后缀数组
求出lcp是很容易想到的,我们可以每次枚举U的长度L,那么就可以得到一个区间[i,i+L+
wsnbb123456789
·
2016-05-08 11:00
SPOJ 687
后缀数组
+RMQ
点击打开链接题意:问给出的串中连续重复的子串的最长的长度思路:先将
后缀数组
和高度数组先求出来,分别为sa和lcp数组。
Dan__ge
·
2016-05-07 21:00
数据结构
ACM
后缀数组
SPOJ 687
后缀数组
+RMQ
点击打开链接题意:问给出的串中连续重复的子串的最长的长度思路:先将
后缀数组
和高度数组先求出来,分别为sa和lcp数组。
Dan__ge
·
2016-05-07 21:00
数据结构
ACM
后缀数组
后缀数组
学习
相关学习资料:《
后缀数组
——处理字符串的有力工具》、《后缀树》(http://wenku.baidu.com/link?
theArcticOcean
·
2016-05-07 19:00
字符串
后缀数组
POJ 3261
后缀数组
点击打开链接题意:求最长的出现k次的子串的长度思路:连着做了几道
后缀数组
的题目,这题A的也很顺利,既然是找最大最小这种,二分无疑最好用,那么就是判断条件了,我YY了一下,没有证明对不对就交了一发,还好对了
Dan__ge
·
2016-05-07 14:00
数据结构
ACM
poj
后缀数组
POJ 3261
后缀数组
点击打开链接题意:求最长的出现k次的子串的长度思路:连着做了几道
后缀数组
的题目,这题A的也很顺利,既然是找最大最小这种,二分无疑最好用,那么就是判断条件了,我YY了一下,没有证明对不对就交了一发,还好对了
Dan__ge
·
2016-05-07 14:00
数据结构
ACM
poj
后缀数组
POJ 2217
后缀数组
点击打开链接题意:求最长公共子序列思路:和2774差不多的题,基本没动过,但是为什么过的人这么少呢,没多想交了一发,过了,看了看时间0ms,空间264K,好象不错唉,看看排行榜,卧槽,吓了自己一跳,第一什么情况,这还是第一次拿到这个,赶紧和队友炫耀了一番,上一次在51nod上和队友一起做了一道题,我先写完的,拿了第一,然后队友写完,比我快了10几ms,被他抢走个第一,纪念一下#include #i
Dan__ge
·
2016-05-07 13:00
数据结构
ACM
poj
后缀数组
POJ 2217
后缀数组
点击打开链接题意:求最长公共子序列思路:和2774差不多的题,基本没动过,但是为什么过的人这么少呢,没多想交了一发,过了,看了看时间0ms,空间264K,好象不错唉,看看排行榜,卧槽,吓了自己一跳,第一什么情况,这还是第一次拿到这个,赶紧和队友炫耀了一番,上一次在51nod上和队友一起做了一道题,我先写完的,拿了第一,然后队友写完,比我快了10几ms,被他抢走个第一,纪念一下#include #i
Dan__ge
·
2016-05-07 13:00
数据结构
ACM
poj
后缀数组
POJ 2774
后缀数组
水题
点击打开链接题意:求两个串的最长公共子串思路:用
后缀数组
和高度数组简单求出,结果就是高度数组的最大值,看代码,对了开始吐槽.....挑战程序设计上的
后缀数组
这部分,代码简单易懂,我都看懂了.......
Dan__ge
·
2016-05-07 13:00
数据结构
ACM
poj
后缀数组
POJ 2774
后缀数组
水题
点击打开链接题意:求两个串的最长公共子串思路:用
后缀数组
和高度数组简单求出,结果就是高度数组的最大值,看代码,对了开始吐槽.....挑战程序设计上的
后缀数组
这部分,代码简单易懂,我都看懂了.......
Dan__ge
·
2016-05-07 13:00
数据结构
ACM
poj
后缀数组
SPOJ 694&705
后缀数组
点击打开链接题意:问一个串的子串可以有多少种,就是将重复的去掉思路:每个子串一定是某个后缀的前缀,对于某个后缀sa来说,它的最长前缀就是重复的个数,那么减去就好,而最长前缀可以通过
后缀数组
的sa数组线性求出
Dan__ge
·
2016-05-07 11:00
数据结构
ACM
后缀数组
SPOJ 694&705
后缀数组
点击打开链接题意:问一个串的子串可以有多少种,就是将重复的去掉思路:每个子串一定是某个后缀的前缀,对于某个后缀sa来说,它的最长前缀就是重复的个数,那么减去就好,而最长前缀可以通过
后缀数组
的sa数组线性求出
Dan__ge
·
2016-05-07 11:00
数据结构
ACM
后缀数组
hdu 2459
后缀数组
求最多重复次数子串
#include #include #include #include usingnamespacestd; constintN=100005; intws[N],wv[N],wa[N],wb[N]; intRank[N],height[N],sa[N],l; chars[N],xiao; intdp[N][25]; intcmp(int*r,inta,intb,intl) { returnr[a
a709743744
·
2016-05-07 09:00
浅谈
后缀数组
1.概述
后缀数组
是一种解决字符串问题的有力工具。相比于后缀树,它更易于实现且占用内存更少。在实际应用中,
后缀数组
经常用于解决字符串有关的复杂问题。本文大部分内容摘自参考资料[1][2]。
qq919017553
·
2016-05-06 21:00
POJ 3581
后缀数组
点击打开链接题意:将一个数列分成连续的三段,每段必须有数字,问这三段反转后的数列的最小字典序的方案,并输出,注意:第一个数比后面所有都大思路:因为第一个数最大,那么将整个数列反转后的字典序最小的后缀为第一段分开位置,但是要判断情况,如最后还要至少剩下两个数完成后两段,接下来找第二段的分开位置,不可以像刚刚那么找了,想这个例子,将第一段去掉后是这样的,1321100如果和第一次一样的方法结果是110
Dan__ge
·
2016-05-06 20:00
数据结构
ACM
poj
后缀数组
POJ 3581
后缀数组
点击打开链接题意:将一个数列分成连续的三段,每段必须有数字,问这三段反转后的数列的最小字典序的方案,并输出,注意:第一个数比后面所有都大思路:因为第一个数最大,那么将整个数列反转后的字典序最小的后缀为第一段分开位置,但是要判断情况,如最后还要至少剩下两个数完成后两段,接下来找第二段的分开位置,不可以像刚刚那么找了,想这个例子,将第一段去掉后是这样的,1321100如果和第一次一样的方法结果是110
Dan__ge
·
2016-05-06 20:00
数据结构
ACM
poj
后缀数组
UVa11107 Lifeform
题目链接UVa11107Lifeform题解学了高大上的
后缀数组
但是还是不怎么会用,关键是版子最开始打错了,害得我必须再重新理解一遍才能找出bug,开始以为是memset(sa,0,sizeof(sa)
QWsin
·
2016-05-06 16:00
HDU 4029 Distinct Sub-matrix(
后缀数组
+hash)
Description给出一个只由大写字母组成的矩阵,求不同子矩阵个数Input第一行一整数T表示用例组数,每组用例第一行为两个整数nn和m表示矩阵行列数,之后为一个只由大写字母组成的n*m矩阵(1 #include #include #include usingnamespacestd; #definemaxn22222 typedefunsignedlonglongull; intt1[max
V5ZSQ
·
2016-05-05 22:00
HDU 4080 Stammering Aliens(
后缀数组
+二分)
Description给出一个字符串,求这个字符串中重复次数不少于m次的最长字串长度以及这个子串在原串中最后一次出现的位置Input多组用例,每组用例第一行为一整数m,第二行为一长度不超过40000的字符串,以m=0结束输入Output输出两个整数,第一个整数为在这个字符串中重复次数不少于m次的最长子串的长度,第二个整数是这个子串在原串中最后一次出现的位置,如果不存在这样的子串则输出noneSam
V5ZSQ
·
2016-05-05 22:00
spoj
后缀数组
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=115232#problem/B求给出字符串所有的不重复子串,可以重叠,所有后缀的所有前缀就包括了所有字符串用总字符串的数去减重复字符串的个数即所有height【】,#include #include #include usingnamespacestd; constintmaxn=100
aonaigayiximasi
·
2016-05-03 21:00
后缀数组
学习
参考《算法入门经典》和http://blog.csdn.net/qq_24451605/article/details/42118325rank:名次数组(后缀i在所有后缀中从小到大排列的名次),(以第k个字符开始的后缀称为后缀k)rank[0…n-1]有效height:height[i]=suffix(sa[i-1])和suffix(sa[i])的最长公共前缀,也就是排名相邻的两个后缀的最长公共
aonaigayiximasi
·
2016-05-03 21:00
HDU 4622 Reincarnation(
后缀数组
+ST)
Description给出一个只由小写字母组成的字符串,有m次查询,每次查询区间[l,r]这一部分子串所含有的不同子串的数量Input第一行为一整数T(T=lb&&lcp>=lb说明pre后缀字典序在i后缀后面,不需要更新pre,否则令pre=i表示i后缀字典序在pre后缀后面(lcp=lcp(sa[i],sa[pre])),(r-l+1)*(r-l+2)/2-sum{min(lcp,min(la
V5ZSQ
·
2016-05-03 15:00
POJ 3693 Maximum repetition substring(
后缀数组
+ST)
Description给出一个字符串,求这个字符串的一个子串,使得其完全由最小循环节组成且循环次数最多,如果有多组解则输出字典序最小的Input多组用例,每组用例占一行为一行长度不超过100000的字符串,以#结束输入Output对于每组用例,输出满足条件的字典序最小的子串SampleInputccabababcdaabbccaa#SampleOutputCase1:abababCase2:aaS
V5ZSQ
·
2016-05-03 15:00
POJ 3581 Sequence(
后缀数组
)
输出这样操作得到的序列中字典序最小的序列Input第一行为一整数n表示序列长度,之后n行每行一个整数表示该序列(n1(因为三部分都需要非空),那么字典序中第i个后缀即为满足条件的第一部分,然后将剩余部分翻倍后再做一遍
后缀数组
V5ZSQ
·
2016-05-03 15:00
CSU 1632 Repeated Substrings(
后缀数组
)
Description求字符串中所有出现至少2次的子串个数Input第一行为一整数T(T #include #include #include #include usingnamespacestd; #definemaxn111111 intt1[maxn],t2[maxn],c[maxn],sa[maxn],Rank[maxn],height[maxn]; boolcmp(int*r,inta,
V5ZSQ
·
2016-05-03 14:00
URAL 1297 Palindrome(
后缀数组
)
Description给出一个字符串,求最长回文子串长度Input一个长度不超过1000的字符串Output输出这个串的最长回文子串,如果有多种满足条件的解则输出首字符靠前的SampleInputThesampletextthatcouldbereadedthesameinbothordersArozaupalanalapuazorASampleOutputArozaupalanalapuazor
V5ZSQ
·
2016-05-03 14:00
CSU 1656 Paper of FlyBrother(
后缀数组
)
Description给出一个串,求这个串的不同子串的数量Input多组用例,每组用例占一行为一长度不超过100000的字符串,以文件尾结束输入Output对于每组用例,输出该串的不同子串的数量SampleInputaaabSampleOutput15Solution不同子串数量=n*(n+1)-sum(height[i]),i=2,3,…,n即子串总数减去重复字串数量,重复子串就是后缀的公共前缀
V5ZSQ
·
2016-05-03 14:00
SPOJ 694 Distinct Substrings(
后缀数组
)
Description给出一个字符串,求这个串不同的子串个数Input第一行为一整数T(T #include #include #include usingnamespacestd; #definemaxn1111 intt1[maxn],t2[maxn],c[maxn],sa[maxn],rank[maxn],height[maxn]; boolcmp(int*r,inta,intb,intl)
V5ZSQ
·
2016-05-03 14:00
POJ 3261 Milk Patterns(
后缀数组
+二分)
Description给出一个字符串,求至少出现k次的可重叠的最长子串的长度Input第一行为两个整数n和k(1 #include #include #include usingnamespacestd; #definemaxn22222 intt1[maxn],t2[maxn],c[maxn],sa[maxn],rank[maxn],height[maxn]; boolcmp(int*r,int
V5ZSQ
·
2016-05-03 14:00
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他