后缀数组
黑码
这个作者很懒,什么都没留下…
展开
-
重复旋律 后缀数组 板子 最长可重叠重复子串问题
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述小Hi平时的一大兴趣爱好就是演奏钢琴。我们知道一个音乐旋律被表示为长度为 N 的数构成的数列。小Hi在练习过很多曲子以后发现很多作品自身包含一样的旋律。旋律是一段连续的数列,相似的旋律在原数列可重叠。比如在1 2 3 2 3 2 1 中 2 3 2 出现了两次。小Hi想知道一段旋律中出现次数至少为K次的旋律最长是多少?解原创 2017-07-05 22:03:52 · 394 阅读 · 0 评论 -
hdu 5008 (后缀数组 + rmq +二分)
题意:给出一个字符串,求出第k小的子串,并求出字符串的起止位置,如果有多个重复的子串,求出位置最靠左的子串。 思路:比赛时,想到了要用后缀数组,但是没想到如何做。 其实,因为子串是后缀的前缀,后缀数组对后缀排序的同时,也对子串进行了排序。对于每一个sa[i],会产生不同的n - sa[i] - height[i]个子串,这些子串也是排好序的。 这样,我们原创 2018-02-14 18:38:20 · 690 阅读 · 0 评论 -
CodeForces - 432D 后缀数组
You have a string s = s1s2…s|s|, where |s| is the length of string s, and si its i-th character.Let’s introduce several definitions:A substring s[i..j] (1 ≤ i ≤ j ≤ |s|) of string s is string sisi + 1…原创 2018-02-14 18:37:16 · 466 阅读 · 0 评论 -
string string string hdu 6194 (后缀数组做法)
string string string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 801 Accepted Submission(s): 232Problem Description Uncle Mao is a won原创 2018-02-14 18:36:28 · 317 阅读 · 0 评论 -
后缀数组+贪心+隔板法
题意:给你sa数组,就是每个排名的后缀开始下标,让你求有多少种满足要求的串,有那么一个原理,对于相邻排名的两个后缀,后缀i的首字母要不要大于i-1,的取决于,第二个字符的比较,如果i的第二个字符>i-1的,那么i的首字符必然要+1,每一个后缀只要比较第二个字符就好,因为别的都会遍历到,这个是 if(ra[sa[i]+1]>ra[sa[i+1]+1]) m++,如果m大于25,那么就是无解, 否则原创 2018-02-14 18:35:19 · 272 阅读 · 0 评论 -
poj 3415 后缀数组+单调栈||后缀自动机
Common Substrings Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 11519 Accepted: 3814 DescriptionA substring of a string T is defined as:T(i, k)=TiTi+1…Ti+k-1, 1≤i≤i+k-1≤|T|.原创 2017-10-10 15:22:58 · 481 阅读 · 0 评论 -
hdu 3518 Boring counting 后缀数组
Problem Description035 now faced a tough problem,his english teacher gives him a string,which consists with n lower case letter,he must figure out how many substrings appear at least twice,moreover,suc原创 2017-10-11 21:03:42 · 423 阅读 · 0 评论 -
hdu 4622 后缀数组计数问题||后缀自动机
Now you are back,and have a task to do: Given you a string s consist of lower-case English letters only,denote f(s) as the number of distinct sub-string of s. And you have some query,each time you原创 2017-10-18 10:32:08 · 398 阅读 · 0 评论 -
后缀数组
小Ho:这一次的问题该如何解决呢?小Hi:嗯,这次的问题被称为最长可重叠重复K次子串问题。小Ho:那一定是一个经典问题咯?小Hi:没错!这个问题可以用后缀数组完美解决!小Ho:后缀数组?我怎么没听说过!小Hi:没事。且等我慢慢讲来!小Ho:猴!小Hi:顾名思义,后缀数组就是记录所有后缀的数组,同时,它也是有序的。后缀数组 SA 可以帮助我们解决单字符串问题、两个字符串的问题和多个字符串的问题等。比如转载 2017-07-05 22:06:56 · 341 阅读 · 0 评论 -
poj 2758 后缀数组
题意: 给一个字符串,提供两种操作,操作I:在 当前 第i个字符之前插入字符c;操作Q:求 原序列 后缀i,与后缀j的LCP,计算LCP时应把插入字符一起算上思路: 确实没看出来这玩意能用后缀数组搞…… 啊本题有好几个坑需要额外注意: 1. 插入时候的位置指的上当前序列; 2. 询问的位置指的是原序列,然后插入字符应计入比较; 3. 题目仅仅是说 Engligh Letter 而非 lo原创 2017-07-18 19:15:46 · 558 阅读 · 0 评论 -
poj 3693 求出现次数最多的连续重复子串(具体的串)黑盒
#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;const int N=2*100100;int cl,rk[N],sa[N],Rs[N],y[N],wr[N],h[N],r[N][30];char c[N];int minn(int x,int y){retu转载 2017-07-08 00:45:09 · 674 阅读 · 0 评论 -
poj 2406 后缀数组dc3 板子 计算出现次数最多的循环节 dc3 板子
题意:给你一个串,该串可以由其一个子串重复k’次形成,让你求的k的最大值 正解应该是 kmp 题意:给你一个串,该串可以由其一个子串重复k’次形成,让你求的k的最大值 思路:首先得思想是枚举k然后变为判断性问题,接下来就是如何确定成立条件了 1.k必须要能被串长整除,即len%k==0成立 2.sa[0],sa[k]代表的两个串的最长公共前缀的长度应该==len-k, 3.*还有人说需要满原创 2017-07-08 00:34:21 · 677 阅读 · 0 评论 -
Distinct Substrings SPOJ - DISUBSTR 后缀数组(计算不同的子串数目)
Given a string, we need to find the total number of its distinct substrings.InputT- number of test cases. T<=20; Each test case consists of one string, whose length is <= 1000OutputFor each test case原创 2017-07-07 13:12:13 · 489 阅读 · 0 评论 -
poj 3261 Milk Patterns 后缀数组 可重叠的k次最长重复子串
Farmer John has noticed that the quality of milk given by his cows varies from day to day. On further investigation, he discovered that although he can’t predict the quality of milk from one day to the原创 2017-07-07 11:11:01 · 364 阅读 · 0 评论 -
poj 1743 最长不重叠子串 转调差值相等所以相减
musical melody is represented as a sequence of N (1<=N<=20000)notes that are integers in the range 1..88, each representing a key on the piano. It is unfortunate but true that this representation of me原创 2017-07-07 01:41:00 · 396 阅读 · 0 评论 -
重复次数最多的连续字串 后缀数组板子 黑盒子
题目1 : 后缀数组四·重复旋律4 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述小Hi平时的一大兴趣爱好就是演奏钢琴。我们知道一个音乐旋律被表示为长度为 N 的数构成的数列。小Hi在练习过很多曲子以后发现很多作品中的旋律有重复的部分。我们把一段旋律称为(k,l)-重复的,如果它满足由一个长度为l的字符串重复了k次组成。 如旋律abaabaabaaba是(4,3)原创 2017-07-06 20:15:08 · 429 阅读 · 0 评论 -
后缀数组 最长公共子串
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述小Hi平时的一大兴趣爱好就是演奏钢琴。我们知道一个音乐旋律被表示为长度为 N 的数构成的数列。小Hi在练习过很多曲子以后发现很多作品中的旋律有共同的部分。旋律是一段连续的数列,如果同一段旋律在作品A和作品B中同时出现过,这段旋律就是A和B共同的部分,比如在abab 在 bababab 和 cabacababc 中都出现过原创 2017-07-06 01:17:21 · 891 阅读 · 0 评论 -
后缀数组 最长不可重叠重复子串问题
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述小Hi平时的一大兴趣爱好就是演奏钢琴。我们知道一个音乐旋律被表示为长度为 N 的数构成的数列。小Hi在练习过很多曲子以后发现很多作品自身包含一样的旋律。旋律可以表示为一段连续的数列,相似的旋律在原数列不可重叠,比如在1 2 3 2 3 2 1 中 2 3 2 出现了一次,2 3 出现了两次,小Hi想知道一段旋律中出现次数原创 2017-07-05 23:11:42 · 1020 阅读 · 0 评论 -
FZU 2267 贪心 后缀数组
Fat brother and Maze are playing a kind of special (hentai) game with two integers. All the digits of these two integers are in the range from 1 to 9. After they’ve got these two integers, they thought原创 2018-02-14 18:39:23 · 376 阅读 · 0 评论