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
——后缀数组
Codeforces 128B string(
后缀数组
)
链接题目大意:给一个长度为n的字符串,求出这个字符串的所有子串(允许存在相同的子串)的字典序第k小是哪一个。(nusingnamespacestd;constintmaxn=100005;intsa[maxn],rk[maxn],fir[maxn],sec[maxn],tmp[maxn],buckt[maxn];inta[maxn],b[maxn],height[maxn];chars[maxn]
Estretali
·
2019-11-12 21:00
POJ 3261 Milk Patterns
后缀数组
Openjudge原题链接题意输入一个长度N(suffix(i+1)=max(h[k]-1,0),继续匹配则得到h[t]RMQ是一种用O(nlogn)时间预处理,O(1)时间求区间最小值的数据结构,用dp实现,其空间复杂度为O(nlogn)。用dp[i][j]表示[i,i+2^j-1]的区间最小值,那么转移方程就是dp[i][j]=min(dp[i][j-1],dp[i+(1#include#in
失树
·
2019-11-05 04:38
模板——
后缀数组
后缀数组
的详解参见此博客:https://www.cnblogs.com/victorique/p/8480093.html这里主要理一下思路和注意点
后缀数组
基本介绍:
后缀数组
就是对一个字符串的$n$个后缀进行排序
'Clovers'
·
2019-10-26 22:00
KMP字符串匹配算法
KMP字符串匹配算法推荐一个讲解视频:B站KMP讲解视频 KMP整个算法分为三个阶段,如下: (1)cal_next_1,计算待匹配字符串的前
后缀数组
next; (2)move_next,next
AlwaysSimple
·
2019-10-20 15:42
C/C++
(
后缀数组
+rmq/线段树+单调栈)
题意在一个数组中,求所有本质不同子段的贡献和。每个子段的贡献为该子段中的最大值。\(n\leq2e5,T\leq1000\)传送门思路首先子段的贡献是子段中最大值,所以不难转化为求每个最大值对答案的贡献:设\(nxt[i]\)代表\(min\{j|ia[i]\}\),则贡献\(suf[i]=a[i]*(nxt[i]-i)+suf[nxt[i]]\),对于\(nxt[i]\)的求解可用单调栈。之后对
Acerkoo
·
2019-10-11 17:00
后缀数组
总结
SA考虑一种全新的做法,
后缀数组
。定义\(rnk_i\)表示第\(i\)个后缀按照字典序排名为\(rnk_i\)\(sa_i\)表示按照字典序排名为\(i\)的后缀是\(sa_i\)\(height
fexuile
·
2019-10-05 21:00
Liar CodeForces - 822E (dp,
后缀数组
)
是否能划分为至多$x$段,使这些段在$s$中按顺序,不交叉的出现.设$dp_{i,j}$表示$s$匹配到$i$位,划分了$j$段,匹配到$t$中的最大位置每次取一个极长的lcp转移即可,lcp可以二分哈希或者用
后缀数组
uid001
·
2019-10-01 09:00
【排序算法】基数排序详解
笔者今天学习
后缀数组
,发现需要用到基数排序,所以赶紧学习一波。基数排序是基于关键字排序,先比较第一个关键字,再比较第二个关键字。。。
我是一只计算鸡
·
2019-09-26 22:22
排序
比较全的字符串算法汇总
目录KMPAC自动机AC自动机_引入AC自动机的构建AC自动机查找模板代码注意事项例题选讲另一种写法hash&&trie&&manacherSA
后缀数组
1、
后缀数组
作用2、
后缀数组
的构造3、SA算法的用途
lcyfrog
·
2019-09-18 21:00
多个串的最长公共子串 SPOJ - LCS2 后缀自动机
题意:求多个串的最长公共子串这里用的是O(n)的后缀自动机写法我
后缀数组
的专题有nlog(n)写法的题解:对于其中的一个串建立后缀自动机然后对于后缀自动机上面的每一个节点求出每一个节点最长可以匹配的子串
Fitz~
·
2019-09-18 20:00
2019网络赛总结
就像ccpc网络赛有一道
后缀数组
+主席树的题,知道是
后缀数组
,但是不知道要到底要怎么做。还有之前学的有些算法,很久没有用过,现在已经不太熟悉了。
YOONGI
·
2019-09-18 16:55
补题+题解
总结
Luogu2463/BZOJ4698 [SDOI2008]Sandy的卡片
处理子串问题自然想到用
后缀数组
实现,但是这里对每一个串做
后缀数组
无法解决问题,因此我们想到可以把这\(n\)个差分数字串“拼”起来。为了防止答案求出跨串的子串,我们
ZigZagKmp
·
2019-09-12 23:00
JSOI2007:字符加密(
后缀数组
)
2.建立
后缀数组
,对于saisa_{i}sai小于nnn的输出第sai+n−1sa_i+n-1sai+n−1位即可。
codancer
·
2019-09-12 11:00
后缀数组
2019CCPC网络赛 C - K-th occurrence HDU - 6704(
后缀数组
+ST表+二分+主席树)
学了
后缀数组
后,发现这题用
后缀数组
写还简单些。
swineherd_MCQ
·
2019-09-10 18:00
【HDU6704】K-th occurrence(
后缀数组
+二分+st+主席树)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6704题目:字符串s长度为n,q个询问。每个询问给出L,R,k,问[L,R]内的字符串第k次出现的位置解题思路:由L,R可以确定目标子串所在的后缀排名rank,目标子串长度为len=R-L+1,所以在rank上面找到一个最远的rank1,使得[rank1,rank]区间的LCP≥len,在rank下面找
_奶酪
·
2019-08-30 11:57
后缀数组
后缀数组
intrak[maxn],sa[maxn],height[maxn];inttmp[maxn],cnt[maxn];chars[maxn];voidsuffixarray(intn,intm){inti,j,k;n++;for(i=0;i=n-1)break;}for(j=rak[height[i=k=0]=0];i
熊俾
·
2019-08-28 11:26
模板
后缀数组
2019 ccpc网络赛 hdu6704 K-th occurrence
题意:给你一个字符串,再给你q个询问,每一个询问有l,r,k,求字符串中下标l到下标r这个子串第k次出现在字符串中的位置,不存在则输出-1.
后缀数组
:将所有后缀排序,height数组是比较第i个后缀和第
oneplus123
·
2019-08-23 22:37
ST表
后缀数组
主席树
【HDU4691】Front compression(求给定两个子串/后缀的最长公共前缀---
后缀数组
+st表+一点思维)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4691题目:给定字符串和它的一些子串,求给出的相邻两个子串之间的最长公共前缀长度,然后再做一些变换。解题思路:height[i]表示排名i的后缀和排名i-1的后缀之间的最长公共前缀长度,且suffix(j)和suffix(k)的最长公共前缀为height[rank[j]+1],height[rank[j
_奶酪
·
2019-08-04 18:41
后缀数组
后缀数组
后缀数组
模板*以下部分代码和部分解释均来自于白书。
半世blue
·
2019-07-28 22:27
数据结构
2019牛客多校第四场 I题 后缀自动机_
后缀数组
_求两个串de公共子串的种类数
目录求若干个串的公共子串个数相关变形题对一个串建后缀自动机,另一个串在上面跑同时计数广义后缀自动机
后缀数组
其他:POJ3415求两个串长度至少为k的公共子串数量@(牛客多校第四场I题string)求若干个串的公共子串个数相关变形题牛客这题题意大概是求一个长度为
Cwolf9
·
2019-07-27 22:00
HDU6599:求本质不同的子串(回文串)长度及数量
目录hdu6599题意:manacher+后缀自动机+倍增\(O(nlog(n))\)manacher+
后缀数组
+二分\(O(nlog(n))\)回文树(回文自动机)\(O(n)\)@(hdu6599:
Cwolf9
·
2019-07-26 21:00
【模板】
后缀数组
include#include#defineLLlonglong#defineULLunsignedlonglongusingnamespacestd;constintMAXN=100010;//以下为倍增算法求
后缀数组
Dorom
·
2019-07-02 18:00
字符串常见面试题
面试相关特点广泛性可看作是字符类型的数组,与数组的排序、查找、调整有关很多其他类型的面试题可看作是字符串类型的面试题需要掌握的概念回文子串(连续)子序列(不连续)前缀树(Trie树)后缀树和
后缀数组
匹配字典序需要掌握的操作与数组有关的操作
eicomtpmh
·
2019-06-10 16:15
JAVA
2018 焦作 H. Can You Solve the Harder Problem?
思路:单调栈加
后缀数组
。
ehdhg13455
·
2019-06-09 14:57
后缀数组
POJ 2406 字符串循环节
后缀数组
处理1e6的字符串会超时(常数比较大),换成hash或kmp对fail数组的又一个理解(移位之后匹配)这题倒着想贼好想,若循环子串,则必然满足这个fail数组的性质,也可证明,满足这个性质即为循环子串
ehdhg13455
·
2019-06-08 14:20
字符串
字符串
KMP
为亚马逊面试准备
html(包括BM算法,Sunday算法)1.求字符串中最长的重复子长度:https://blog.csdn.net/u012114090/article/details/81669021方法:1.写出
后缀数组
better_eleven
·
2019-05-26 22:56
#218-[
后缀数组
]后缀排序
Description读入一个由小写字母构成的字符串,求每个后缀的排名以及相邻两个后缀的LCP长度。Input一行一个字符串。Output第一行用空格隔开的n个数,n为字符串长度,按顺序依次为第1到第n个后缀在所有后缀里面的排名。第一行用空格隔开的n个数,第i个数表示排名为i的后缀和排名为i-1的后缀的LCP长度,第一个数恒为0。aabaaaabSampleInput468123570323120
2017gdgzoi999
·
2019-05-25 08:34
2019年华南理工大学程序设计竞赛(春季赛) K Parco_Love_String(dp+递推/
后缀数组
)
链接:https://ac.nowcoder.com/acm/contest/625/K来源:牛客网时间限制:C/C++2秒,其他语言4秒空间限制:C/C++131072K,其他语言262144K64bitIOFormat:%lld题目描述众所周知,在算法竞赛中,出题人对他出的题的难度往往存在错误的估计。比如出题人本想出个简单题,没想到却出成了重坑细节题;本想出个中等难度题,结果却变成了防AK题。
LSD20164388
·
2019-04-15 19:30
递推递归
动态规划
经典dp
后缀数组
临时抱佛脚
临时抱佛jio需要打的板子高斯消元FFT/NTT拉格朗日插值LCTsplayK-DTree二分图/最大流/费用流
后缀数组
后缀自动机可能还需要重新学一下的东西整体二分Polya定理dp区间dp对于满足\(
自为风月马前卒
·
2019-04-01 20:00
loj#6041. 「雅礼集训 2017 Day7」事情的相似度(SAM set启发式合并 二维数点)
题意题目链接Sol只会
后缀数组
+暴躁莫队套set\(n\sqrt{n}\logn\)但绝对跑不过去。
自为风月马前卒
·
2019-03-29 22:00
重走长征路---OI每周刷题记录---5月10日 2014
「bzoj1458」士兵占领
后缀数组
:3.「bzoj1031」[JSOI2007]字符加密
mrcrack
·
2019-02-09 17:10
跟着大佬学算法
bzoj3238 差异
可以想到用
后缀数组
。在
后缀数组
上两个后缀的\(lcp\)长度表现为两个后缀排名之间的\(height\)的最小值。所以现在问题就又转化为了在\(height\)数组上求所有区间最小值之和。
wxyww
·
2019-01-30 21:00
后缀树(suffix tree & array)
定义:
后缀数组
(suffixarray)是将字符串的所有后缀进行排序放入数组中。后缀树(suffixtree)则是所有后缀形成的字典树(trie)的一种压缩表示。
ak1947
·
2019-01-20 18:04
luogu P4482 [BJWC2018] Border 的四种求法 -
后缀数组
题目传送门传送门题目大意区间border。照着金策讲稿做。Code1/**2*luogu3*Problem#P44824*Accepted5*Time:8264ms6*Memory:37924k7*/8#include9usingnamespacestd;10typedefboolboolean;1112template13voidpfill(T*pst,constT*ped,Tval){14fo
阿波罗2003
·
2019-01-07 12:00
bzoj 3473 字符串 -
后缀数组
- 树状数组
题目传送门传送门题目大意给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串先用奇怪的字符把所有字符串连接起来。建后缀树,数每个节点的子树内包含多少属于不同串的后缀。数这个东西,可以将每个串的后缀(被奇怪的字符分割开的地方认为它属于不同后缀)按dfs序排序,然后简单容斥就能统计出来。对于每个后缀,有贡献的是一个前缀,然后直接统计就行了。Code1/**2*b
阿波罗2003
·
2019-01-07 11:00
后缀数组
倍增法模板
后缀数组
倍增法模板#includeusingnamespacestd;intn,k,ranks[100003],sa[12];//SA数组的含义:SA[I]表示所有后缀中排第I位的起始位是SA[i]boolcompare_sa
cj1064789374
·
2019-01-01 00:17
ACM笔记-2串树
【
后缀数组
/SAM+边分树合并】LGP5115 Check,Check,Check one two!
【题目】原题地址给定一个字符串SSS,求∑1≤i<j≤nlcp(i,j)lcs(i,j)[lcp(i,j)≤k1][lcs(i,j)≤k2]\sum_{1\leqi<j\leqn}lcp(i,j)lcs(i,j)[lcp(i,j)\leqk_1][lcs(i,j)\leqk_2]1≤i#definemkpmake_pair#definefifirst#definesesecondusi
Dream_Lolita
·
2018-12-28 10:56
分而治之-树分治
字符串-后缀数组
字符串-SAM
[学习笔记] 量产毒瘤题 - 纳什均衡 -
后缀数组
- 学习笔记
题目大意:给你一个字符串,两个玩家分别独立同时的选择一个后缀,并且计算两个后缀的最长公共前缀。第一个玩家希望它尽量大,另一个希望尽量小,问最后期望多长。题解:前缀知识:纳什均衡纳什均衡毫无疑问是个很复杂的问题,我们之看一个特例来了解一下。ckw和妹子玩游戏(大雾),他跟妹子说我们同时独立的写出一个0或者写出一个1,若我们都写出了0,我给你a块钱;若都写出了1,我给你b块;若我0你1,你给我c块,否
Mys_C_K
·
2018-12-26 15:41
后缀数组
学习笔记
纳什均衡
SA-IS
后缀数组
//t的范围问题要注意#include#include#includeusingnamespacestd;intmain(){intT;cin>>T;while(T--){intn;charc,f;cin>>n;getchar();f=getchar();intt=0,flag=0;for(inti=1;i=0){coutc){while(t>=0){cout";t--;}t=0;flag=1;}
KLFTESPACE
·
2018-12-22 17:34
[
后缀数组
][学习笔记]
定义——来自百度百科子串一个字符串中连续的一段成为这个字符串的子串。后缀后缀是指从某个位置i开始到整个串末尾结束的一个特殊子串。字符串r的从第i个字符开始的后缀表示为Suffix(i),也就是Suffix(i)=r[i,len(r)]。子串的大小大小比较:关于字符串的大小比较,是指通常所说的“字典顺序”比较,也就是对于两个字符串u、v,令i从1开始顺次比较u[i]和v[i],如果u[i]=v[i]
wxyww
·
2018-12-20 08:00
[bzoj1717][Milk Patterns 产奶的模式]
题目链接思路先求出
后缀数组
,并且求出LCP。二分一下长度len。check的时候就是看有没有连续的k个后缀的LCP大于len。也就是判断是不是有连续的k-1个height大于len。
wxyww
·
2018-12-19 22:00
[bzoj1692][队列变换]
然后求出
后缀数组
,给每个后缀都求个排名。然后每次取得时候取排名更小的就行了。注意这个题的输出格式,每80个字符输出为一行。
wxyww
·
2018-12-19 22:00
后缀自动机DC3模板
后缀数组
一些性质suffix(j)和suffix(k)的最长公共前缀为height【rank【j】+1】到height【rank【k】】中的最小值;待更新/*POJ-2406*/#include#include
Anoyer
·
2018-12-06 23:47
字符串模版
后缀数组
BZOJ-3238: [Ahoi2013]差异(Suffix Array + Cartesian Tree)
id=3238这是我ORZ了网上的题解才知道的555:首先做一次
后缀数组
,求出sa[],height[],然后对于height[2..len(s)]建立CartesianTree,那么每个节点对于题目中项
AmadeusChan
·
2018-10-16 20:40
ACM修炼指南(网上通用版 -----已修改格式方便查看)
文章目录----------目录----------点击进入bestsort个人版----------数据结构----------栈,队列,链表,树并查集平衡二叉树二叉排序树线段树树状数组字典树
后缀数组
bestsort
·
2018-10-10 16:19
各类集合
bryce1010专题训练——
后缀数组
1.定义介绍
后缀数组
后缀数组
SA是一个一维数组,它保存1…n的某个排列SA[1],SA[2],…,SA[n]。
bryce1010
·
2018-09-21 11:14
1.1
计蒜客 焦作网络赛 String and Times(
后缀数组
)
思路:
后缀数组
,对于一个height[i],求height[i-1]---height[i]区间有多少个h满足存在大于等于h的连续的最长长度>=A并且#include#include#includeusingnamespacestd
_XFire
·
2018-09-15 20:34
字符串
后缀数组
最详细的
后缀数组
写在前面:多余的我就不提了,只是觉得网上的博客吧流程,每个数组存的是下标还是值,都讲的不是很清楚(让我这种蒟蒻很是困扰)相信到现在这种水平的都可以知道什么是倍增,为什么能倍增都比较清楚了,但是代码实现总感觉怪怪的……本文的定位就是想把代码实现的部分讲清楚……现在请听我娓娓道来……清爽代码:#include#include#includeusingnamespacestd;constintMAX=1
ezoiLZH
·
2018-09-08 08:56
算法学习
【算法模板】树状数组,手写留念~
#include"bits/stdc++.h"usingnamespacestd;#defineINF999999999#defineinf10009//
后缀数组
的学习:预处理nlogn,实现logn的前缀和求
仰天长笑泪满衣
·
2018-09-03 19:48
数据结构
常用算法模板
HDU6194
后缀数组
的应用
分析:第一道
后缀数组
的题目。
胖胖 wl
·
2018-08-30 12:56
字符串
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他