码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
练习 后缀数组
一.字符串公共子串 1.poj2774Long Long Message 要求尽量相同,那么将各个子串连在一起用‘#’连接,查最长height,判一下sa位置就好了 代码: 2.可重复可不对齐公共子串个数。 同理,在两个字符串中间加一个‘#’连在一起。 查询hgt,显然,小于hgt的值都能取到,那么 ...
分类:编程语言   时间:2018-10-01 01:04:36    阅读次数:159
后缀数组 模板+详解
后缀数组理解起来挺难的...... 首先得学一下基数排序。 比如说下面这组数据:11,12,23,15,34,24 基数排序的第一关键字:十位数,第二关键字:个位数。 我们先对第一关键字也就是十位数开个桶hs[]计数: 记完之后应该是这个样子:hs[1]=3,hs[2]=2,hs[3]=1 这些数代 ...
分类:编程语言   时间:2018-09-25 20:39:51    阅读次数:195
poj3261 Milk Patterns
题目大意:给出n个数的序列和m,求数列中出现至少m次的最大长度。 本来可以用trie树和ac自动机/trie图搞一搞,但是数据范围太大。 后缀数组+RMQ: ...
分类:其他好文   时间:2018-09-25 16:35:17    阅读次数:140
bzoj 1014 [JSOI2008]火星人prefix (splay+二分答案+字符串hash)
题目大意:维护一个字符串,支持插入字符和替换字符的操作,以及查询该字符串两个后缀的最长公共前缀长度 乍一看以为是后缀数组,然而并没有可持久化后缀数组(雾) 看题解才知道这是一道splay题,首先要对splay维护区间信息有一定了解 splay维护,插入字符,替换字符 而它的字树内所有儿子的中序遍历的 ...
分类:Web程序   时间:2018-09-24 23:18:06    阅读次数:244
模板 后缀数组
(要点写注释里了)代码:求SA ...
分类:编程语言   时间:2018-09-23 22:40:09    阅读次数:362
后缀数组模板及一些数组的含义
最近学习了一下后缀数组,模板原理以后再看,先记一下一些数组的含义。用以下这张图做例子: rank(i)代表第i个后缀的字典序排名 sa(i)代表排名为i的字典序对应的位置 lcp(i, j)表示suffix(i)和suffix(j)的公共最长前缀 height(i) = lcp(sa(i-1), s ...
分类:编程语言   时间:2018-09-20 01:03:12    阅读次数:174
SPOJ - PHRASES
题意: 给n个字符串,求出最长的子串。使得子串在每个字符串中不重叠地至少出现2次。输出子串长度。 题解: 用后缀数组求出height数组,之后二分答案。check时对height数组进行分组,并维护每个字符串的最前和最后位置。 #include <bits/stdc++.h> using names ...
分类:其他好文   时间:2018-09-18 23:55:54    阅读次数:374
后缀排序
后缀数组板子,给出一个字符串,要求输出sa数组。 首先声明一下各数组的作用。 rank:序列上的点->点权; sa:排名->位置; tmp:辅助数组; ...
分类:编程语言   时间:2018-09-18 20:50:49    阅读次数:198
2018焦作网络赛H
求一个串中出现次数在[L,R]区间里的子串一共有多少个,后缀数组用出现次数>=L的个数减去出现次数>R的个数就是答案。 //#define test #include<bits/stdc++.h> using namespace std; const int Nmax=250007; const i ...
分类:其他好文   时间:2018-09-16 15:22:46    阅读次数:176
【SPOJ220】Relevant Phrases of Annihilation(后缀数组,二分)
题意: n<=10,len<=1e4 思路: ...
分类:编程语言   时间:2018-09-14 21:37:21    阅读次数:240
1340条   上一页 1 ... 18 19 20 21 22 ... 134 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!