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 2328 Corporate Identity(
后缀数组
-求多个串的最长共同子串)
传送门:http://acm.split.hdu.edu.cn/showproblem.php?pid=2328思路:把所有字符串拼接起来,中间用’#’隔开,然后把这个问题转化为判定性的问题,判定是否存在一个长度为x的子串是共同子串。求出所有子串中的最少长度。然后从1~minlen中二分判定,按照当前的判定长度对height进行分组,如果碰到存在就返回在字符串中的下标,否则就继续二分,不存在就输出
xtttgo
·
2020-08-18 10:59
后缀数组
ACM-
数据结构完全总结(知识点+模板)
目录STL中数据结构通用操作1.1二分查找1.2排列生成栈2.1单调栈队列3.1优先队列3.2单调队列向量链表5.1链式前向星5.2舞蹈链(dancinglinks)堆6.1映射二叉堆集合映射ST表并查集*10.1带权并查集*10.2种类并查集*10.3可持久化并查集树状数组线段树12.1ZKW线段树*12.2权值线段树12.3可持久化线段树(主席树)平衡树13.1Splay伸展树13.2Trea
Ogmx
·
2020-08-18 09:08
ACM常用模板
算法完全解析
HDU 2328 Corporate Identity
后缀数组
两个字符串的最长公共前缀求法:将两个字符串合起来,中间加个特殊符号,然后对整个字符串求
后缀数组
。扫描height数组,如果排名i和i+1的串分别属于不同的原始串,则用height[i+1]更新结果。
嘟嘟洒水车
·
2020-08-18 08:34
解题报告
hdu2328——Corporate Identity(
后缀数组
练习)
今天继续
后缀数组
的练习,在做一道题时花了较多的时间,主要是一些细节上的问题,也是
后缀数组
题目常出现的一些细节问题,做完这题让我对
后缀数组
的使用更加熟悉了。
ZouCharming
·
2020-08-18 08:32
acm——c/c++
字符串问题模板 长期更新
后缀数组
#include#include#include#includeusingnamespacestd;constintmaxn=1e5+5;intt1[maxn],t2[maxn],c[maxn]
Marcus-Bao
·
2020-08-18 07:06
后缀数组
|hdu 2328|
后缀数组
|二分|Corporate Identity
hdu2328给出n个字符串,输出他们的最长公共子串,无解输出”IDENTITYLOST”用不同的符号连接每个字符串,然后二分公共子串的长度,在height数组中看有没有连续n个height大于公共子串的长度,如果有,那么更新答案。(此题暴力比SA快,而且poj上用SA一直TLE,Hdu上1840ms就过了)#include#include#include#include#definems(i,j
NotFound1
·
2020-08-18 07:54
Poj/Hdu
字符串
-
后缀数组/SAM
CTSC2017&&APIO2017
送一波体积顺便见一见各地的神犇CTSCDay-1上午做loli从别的省py来的胡策题先睡了一个多小时敲了T1的暴力,博弈论+线性基的T2调了很久才过,T3暴力被告知T1是
后缀数组
裸题。。。
iamxym
·
2020-08-18 06:46
日常
(
后缀数组
)
https://atcoder.jp/contests/abc141/tasks/abc141_eACCode(Suffixarray)[Afoolishwaytosolvetheproblem]//#include#include#include#include#include#include#include#include#includeusingnamespacestd;typedeflon
Kimbing Ng
·
2020-08-18 05:09
ACM
字符串
NOI&&NOIP知识点集萃
更新日志\(update:2019-3-4\)更新了自为风月马前卒的
后缀数组
(省选不到一个月了,我才开始学
后缀数组
怕是要凉凉)\(update:2019-2-21\)更新了一篇李超线段树的讲解\(update
weixin_30635053
·
2020-08-18 04:24
后缀数组
模板及代码详解
后缀数组
代码详解上图中存在直边和斜边,下文会用到。
w4149
·
2020-08-18 03:27
后缀数组
—————模板—————
BZOJ_P4199 [NOI2015] 品酒大会(
后缀数组
+并查集)
BZOJ传送门一年一度的“幻影阁夏日品酒大会”隆重开幕了。大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加。在大会的晚餐上,调酒师Rainbow调制了nn杯鸡尾酒。这nn杯鸡尾酒排成一行,其中第ii杯酒(1≤i≤n1≤i≤n)被贴上了一个标签sisi,每个标签都是2626个小写英文字母之一。设Str(l,r)Str(l,r)表示第ll杯酒到
BeiYu-oi
·
2020-08-18 00:23
BZOJ
NOI
后缀数组
并查集
poj2774——Long Long Message(
后缀数组
)
LongLongMessageTimeLimit:4000MSMemoryLimit:131072KTotalSubmissions:17093Accepted:6935CaseTimeLimit:1000MSDescriptionThelittlecatismajoringinphysicsinthecapitalofByterland.Apieceofsadnewscomestohimthes
神牛jianing
·
2020-08-17 23:41
字符串工具
ACM-
超级楼梯
ProblemDescription有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?Input输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1>n;intM;ans[1]=1;ans[2]=1;for(inti=3;i>M;cout<
gzj_1101
·
2020-08-17 22:19
Algorithm
leetcode1044
求最长公共子串(可重叠)分析:求出
后缀数组
的height数组,最大值即为最长公共子串的长度。假设height[i]最大,sa[i]表示的是在原字符串的起始位置可以作为模板题目.
dezhonger
·
2020-08-17 22:20
后缀数组
leetcode
hdu-4691 最长公共前缀-
后缀数组
pid=4691http://blog.csdn.net/fire_cat11211022/article/details/9908545详细的
后缀数组
有关问题的解答解析:当然用
后缀数组
最方便,在
后缀数组
中有很多重要的定义和性质
devYzhou
·
2020-08-17 20:23
hdu
线段树
后缀数组
hdu 4691 Front compression(
后缀数组
)
题目链接:hdu4691Frontcompression代码#include#include#includeusingnamespacestd;constintmaxn=1e5+5;typedeflonglongll;structSuffix_Arr{intn,s[maxn];intSA[maxn],rank[maxn],height[maxn];inttmp_one[maxn],tmp_two[
JeraKrs
·
2020-08-17 15:45
GRADE:D
HDU
数据结构-后缀数组
POJ-3415-Common Substrings(
后缀数组
+单调栈)
链接:http://poj.org/problem?id=3415求两串中长度大于k的公共子串有多少个。公共子串可以通过height求,中间分隔连接两串,将height[i]>=k进行分组,对于一组内的height[i],且sa[i]属于a串,需要找到ji]-k),采用单调栈维护一个栈顶最小的height[i],大于栈顶压入,小于更新。每次针对a/b串找前面的b/a串,跑两次。//#include
EIKY
·
2020-08-17 01:21
POJ
字符串
一个一万字长的连续字符串,找出其所有子串,并统计子串的出现次数
详情可以参考罗穗骞关于
后缀数组
的论文,这里给出代码:/**========================================================================
neofung
·
2020-08-17 01:29
后缀数组
BZOJ3230 相似子串
然后就是最长公共前缀和最长公共后缀……用两个
后缀数组
即可完成所有操作。
KuribohG
·
2020-08-16 23:15
BZOJ
poj 3261
后缀数组
,还是对height数据进行分组。然后二分答案。
lj_acm
·
2020-08-16 13:00
后缀数组
求一个字符串中连续出现次数最多的子串
两个题目的解法有些类似,都用到了
后缀数组
这个数据结构。
weixin_34377919
·
2020-08-15 16:51
ACM-
计算几何之Shape of HDU——hdu2108
ShapeofHDU题目:http://acm.hdu.edu.cn/showproblem.php?pid=2108TimeLimit:3000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):4973AcceptedSubmission(s):2251ProblemDescription话说上
ltree98
·
2020-08-15 14:43
ACM-计算几何
漫漫刷题路
HDU 3948 The Number of Palindromes (
后缀数组
+ ST表)
用ST表预处理每两个后缀的最长公共前缀,分奇偶统计回文子串,之后去重即可有关去重的操作,代码里有详细解释一些碎碎念:在书上学到
后缀数组
这个知识点后,我把
后缀数组
那一小节后面的习题拿出来组了个题单,前两道题还好
一泓清浅碧于平
·
2020-08-15 14:11
字符串
HDU/HDOJ 3902 Swordsman 多校联合7
pid=3902标程好像是利用
后缀数组
来优化计算量。
iteye_1642
·
2020-08-15 14:45
寻找一个字符串中连续出现次数最多的子串
算法描述首先获得
后缀数组
,然后1.第一行第一个字符a,与第二行第一个字符b比较,不等,则2.第一行前两个字符ab,与第三行前两个字符cb比较,不等,则3.第一行前三个字符abc,与第四行前三个字符bcb
IEEEITU
·
2020-08-15 13:16
C/C++基础知识
图论及算法
ACM算法大全
,队列,链表哈希表,哈希数组堆,优先队列双端队列可并堆左偏堆二叉查找树Treap伸展树并查集集合计数问题二分图的识别平衡二叉树二叉排序树线段树一维线段树二维线段树树状数组一维树状数组N维树状数组字典树
后缀数组
沉欢沉欢
·
2020-08-15 12:55
My
Notes
acm-
单调队列
单调队列:队列中元素之间的关系具有单调性,而且,队首和队尾都可以进行出队操作,只有队尾可以进行入队操作。操作:(1)插入:若新元素从队尾插入后会破坏单调性,则删除队尾元素,直到插入后不再破坏单调性为止,再将其插入单调队列。(2)获取最优(最大、最小)值:访问首尾元素。原理:在处理时,去掉不和谐的状态,使得每个状态在队列中只出现一次;同时维护一个能瞬间得出最优解的队列,减少重新访问的时间;在取得自己
agarophobia
·
2020-08-15 12:31
hdu 5030 Rabbit's String
后缀数组
+二分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5030Rabbit'sStringTimeLimit:40000/20000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):190AcceptedSubmission(s):65ProblemDescripti
neko01
·
2020-08-15 11:37
hdu
后缀数组
ACM-
单调队列之Sliding Window——poj2823
SlidingWindowTimeLimit:12000MSMemoryLimit:65536KTotalSubmissions:36326Accepted:10762CaseTimeLimit:5000MSDescriptionAnarrayofsizen≤106isgiventoyou.Thereisaslidingwindowofsizekwhichismovingfromtheveryle
ltree98
·
2020-08-15 11:13
ACM-数据结构
漫漫刷题路
【
后缀数组
与统计】
后缀数组
向来很强大,其中它的统计功能是一方面。下面以两道题目为例说明一下如何使用强大的
后缀数组
进行统计【例1】POJ3415http://poj.org/problem?
leolin_
·
2020-08-15 06:12
字符串
数据结构
string
ini
each
output
算法
c
高级数据结构之猝死攻略(二)
目录3Trie树3.1等长字符树——26叉Trie3.2不等长的字符树,加“*”标记3.3压缩trie树3.4二叉Trie树3.5后缀树3.6
后缀数组
(SuffixArray)4.应用4.1Trie树应用于搜索提示服
闲狗
·
2020-08-14 22:22
Data
Structure
夏令营day4总结
今天zhx讲的是
后缀数组
,很强大的一个东西,是处理字符串的有力工具。不过实现起来代码量会很大,lkb到目前为止还没来得及敲模板。(个人感觉
后缀数组
比扩展kmp好理解哎,不过写起来的长
无名蒟蒻
·
2020-08-14 20:22
创新班上课/训练
【CF917E】Upside Down(哈希二分)(
后缀数组
)(AC自动机)
传送门诈尸,主要是最近一直在刷水题感觉没有什么值得写的。口胡好题,不建议写。题解:一句话说,将出现的情况分为在u-LCA链上和横跨LCA分别统计。在链上的可以直接建立正反AC自动机,然后树上DFS的同时AC自动机中DFS序+差分算一下出现次数即可。考虑横跨LCA的情况,找出u->LCA的后缀能匹配的最长前缀和LCA->v的前缀能匹配的最长后缀。那么所有能匹配的前缀和后缀都是最长匹配前缀和后缀的bo
zxyoi_dreamer
·
2020-08-14 08:39
后缀数组SA
AC自动机
【题解】回文串 APIO 2014 BZOJ 3676 COGS 1985 Manacher+
后缀数组
+二分
)水过首先,看到回文串就能想到用Manacher同样还是要利用Manacher能不重复不遗漏地枚举每个回文子串的性质只是不重复不遗漏还不够,我们还要统计出现次数每个子串一定是一个后缀的前缀,于是可以用
后缀数组
用
后缀数组
求出
weixin_34345560
·
2020-08-14 08:57
bzoj3676: [Apio2014]回文串
从manacher的过程就可以看出来,使最远边界扩展的回文串才是与之前本质不同的,边界只会扩展到n,所以个数是O(n)的然后对于每个本质不同的字符串,在
后缀数组
里向上向下二分,找出它的出现次数即可得到答案
weixin_30449453
·
2020-08-14 08:42
Codeforces 335B Palindrome 鸽巢原理 + DP
种小写英文字母另外就是这个题目中的回文串并不要求在原来的串当中是连续出现的,只需要出现的位置顺序一样即可,并不要求连续大致思路:做练习的时候一眼看标题课描述没看Hint就脑补直接当常见的的连续的回文串来做了....上来就敲了一发
后缀数组
结果发现样例没过然
Gatevin
·
2020-08-14 08:41
Codeforces
2019年华南理工大学程序设计竞赛(春季赛)第K题 Parco_Love_String
题目题解
后缀数组
暴力水过。。。
EnjoyingAC
·
2020-08-14 07:15
后缀数组
UVA11107 Life Froms
后缀数组
Youmayhavewonderedwhymostextraterrestriallifeformsresemblehumans,differingbysuperficialtraitssuchasheight,colour,wrinkles,ears,eyebrowsandthelike.Afewbearnohumanresemblance;thesetypicallyhavegeometric
SCUT_Pein
·
2020-08-14 04:37
字符串_后缀数组
ACM-
直方图最大面积-Largest Rectangle in Histogram
LargestRectangleinHistogram题目描述:Givennnon-negativeintegersrepresentingthehistogram’sbarheightwherethewidthofeachbaris1,findtheareaoflargestrectangleinthehistogram.Aboveisahistogramwherewidthofeachbari
E01014165
·
2020-08-14 04:31
ACM
倍增算法求解字符串的
后缀数组
今天完成了使用倍增算法求解字符串的
后缀数组
的程序。倍增算法的主要思想是:对每个字符开始的长度为2k的子字符串进行排序,求出排名,即Rank值。
zxj346158052
·
2020-08-14 00:04
后缀数组相关算法实现
算法
arrays
null
struct
string
system
hdu4552怪盗基德的挑战书&hdu3336Count the string【
后缀数组
求各前缀重复次数和】
ProblemDescriptionItiswellknownthatAekdyCoinisgoodatstringproblemsaswellasnumbertheoryproblems.Whengivenastrings,wecanwritedownallthenon-emptyprefixesofthisstring.Forexample:s:"abab"Theprefixesare:"a"
MissZhou要努力
·
2020-08-14 00:45
—字符串
华中15邀请赛网络赛
problem_id=1564这题就是
后缀数组
的sa[]数组的运用,sa[i]=k表示的是字符串所有的后缀按字典序排序后,第i个后缀排在第k个。
yp_2013
·
2020-08-13 23:00
ACM
后缀数组
数位dp
概率dp
P4248 [AHOI2013]差异 (
后缀数组
height[]+单调栈)
题意:给定一个长度为n的字符串S,令Ti表示它从第i个字符开始的后缀,求:解法:显然前面的T(i)和T(j)是可以提出来直接算的,考虑每个后缀作为T(i)和T(j)的次数:1.作为T(i),那么对应n-i个T(j),因此次数为n-i2.作为T(j),那么对应i-1个T(i),因此次数为i-1综上得:每个后缀出现的总次数为n-i+i-1=n-1次因此前面一段T(i)和T(j)部分的贡献为1(n-1)
这有点难啊
·
2020-08-13 22:00
P4051 [JSOI2007]字符加密 (
后缀数组
sa[])
题意:喜欢钻研问题的JS同学,最近又迷上了对加密方法的思考。一天,他突然想出了一种他认为是终极的加密办法:把需要加密的信息排成一圈,显然,它们有很多种不同的读法。例如下图,可以读作:JSOI07SOI07JOI07JSI07JSO07JSOI7JSOI0把它们按照字符串的大小排序:07JSOI7JSOI0I07JSOJSOI07OI07JSSOI07J读出最后一列字符:I0O7SJ,就是加密后的字
这有点难啊
·
2020-08-13 22:00
P2852 [USACO06DEC]Milk Patterns G (
后缀数组
height[]+单调队列)
题意:给定长度为n的数组a,要求计算出现至少k次的子串的最大长度数据范围:n=k的时候,删掉multiset中的height[i-k+1]就行了。(其实就是用multiset实现尺取)code:#includeusingnamespacestd;constintmaxm=1e5+5;structSA{staticconstintN=4e6+5;//chars[N];ints[N];intsa[N]
这有点难啊
·
2020-08-13 22:29
P3809 【模板】后缀排序 (
后缀数组
sa[])
题意:读入一个长度为n的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置。位置编号为1到n。数据范围:nusingnamespacestd;structSA{staticconstintN=1e6+5;chars[N];intsa[N],rk[N],oldrk[N=1;i--)sa[cnt[rk[i]]--]=i;/
这有点难啊
·
2020-08-13 22:28
后缀数组
--- WOj 1564 Problem 1564 - A - Circle
Problem1564-A-CircleProblem'sLink:http://acm.whu.edu.cn/land/problem/detail?problem_id=1564Mean:给你一个长度不超过1e6的数字串,求第k大的环状数字串的前面那个位置。analyse:好吧,我承认这是个水题,比赛的时候sb了,因为原来做过后缀自动机求解字符串的环状最小表示法,所以一直用后缀自动机的知识去套
weixin_34235135
·
2020-08-13 21:33
bnuoj 34990(
后缀数组
或 hash+二分)
后缀数组
倍增算法超时,听说用3DC可以勉强过,不愿写了,直接用hash+二分求出log(n)的时间查询两个字符串之间的任意两个位置的最长前缀.我自己在想hash的时候一直在考虑hash成数值时MOD取多大
weixin_34218890
·
2020-08-13 21:58
BZOJ4340:[BJOI2015]隐身术(
后缀数组
,ST表,DFS)
Description给定两个串A,B。请问B中有多少个非空子串和A的编辑距离不超过K?所谓“子串”,指的是B中连续的一段。不同位置的内容相同的子串算作多个。两个串之间的“编辑距离”指的是把一个串变成另一个串需要的最小的操作次数,每次操作可以插入、删除或者替换一个字符。Input第一行一个非负整数K。接下来两行,每行一个由大写字母组成的字符串,分别表示A和B。Output输出一行一个整数,表示所求
weixin_34032621
·
2020-08-13 21:52
whu1564 求字符串的所有循环子串第k大 :
后缀数组
模板
原题少了当前的字符,不过并无差别利用sa数组可以很方便的求出来==1#include2#include3#include4usingnamespacestd;5structSA{6intsa[2000005],t[2000005],t2[2000005],c[2000005],n,m;7voidbuild_sa(char*s,int_n){8n=2*_n+1;m=128;9inti,*x=t,*y
weixin_33974433
·
2020-08-13 21:15
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他