随笔分类 -  后缀数组

摘要:【链接】h在这里写链接【题意】 让你找出uvu形式的字符串个数。 v非空且长度为L,且u也非空【题解】 之前做过一道相同的题。 枚举u的长度. 然后从u,2u,3u...作为端点x x+L+u作为另外一个端点y 然后x和y看看能不能同时向左移... 阅读全文
posted @ 2017-10-06 19:13 AWCXV 阅读(218) 评论(0) 推荐(0) 编辑
摘要:【链接】 "链接" 【题意】 给你一个字符串s. 定义一个子串的出现值为它出现的次数 字符串的长度。 让你求里面的回文子串的最大出现值 |s| 【题解】 马拉车算法里面. 只有在回文往外扩展超过mx的时候,才出现了不同的回文。 只有这个时候需要计算。 快速计算一个子串在字符串中出现了多少次。 可以用 阅读全文
posted @ 2017-10-06 15:14 AWCXV 阅读(238) 评论(0) 推荐(0) 编辑
摘要:【题目链接】:http://www.lydsy.com/JudgeOnline/problem.php?id=1031【题意】 【题解】 后缀数组模板题; 把整个字符串扩大一倍. 即长度乘2 然后搞出后缀数组; 然后顺序枚举i; 对于sa[i]using namespace std... 阅读全文
posted @ 2017-10-04 18:45 AWCXV 阅读(158) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】找一个字典序最小的公共最长子串;【题解】后缀数组。把所有的串用不同的分隔符分开。(大于'z'的分隔符);然后求出那几个固定的数组。二分一下那个子串的长度.看看是不是在N个串里面都有这个串即可。可以用一个下标,来记录某个位置开始的后缀是第几个串里面的(即输入的N个串里面的... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(102) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】给出一个字符串,求出至少不重叠出现2次以上的子串有多少个。【题解】枚举要找的子串的长度i;根据height数组,找出连续>=i的height;这几个起始的位置的后缀的最长公共前缀都大于等于i;且它们起始位置开始的长度为i的串ts都是一样的。(且没有其他和它们一样起始i个... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(93) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】求两个串的最长公共子串。【题解】Sa[i]表示的是字典序为i的后缀的起始位置。可以把两个字符串合在一起(中间用一个比'z'大的字符分割);则如果Sa[i-1]len1;则它们表示s1和s2的两个后缀。取height[i]然后求最大值就可以了。(height[i]表示的是... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(98) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】给你一个长度为n的序列。问你能不能在其中找到一个最长的子串。 这个子串至少出现了k次.【题解】长度越长,就越不可能出现k次后缀数组+二分。N最大为20000;每个数字在0到1e5之间防止出错,把那个数字都加上1就好(因为N比每个数字的大小来的小,所以需要把N也开到... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(95) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】给你n个字符串。让你找最长的字符串s;这个s在超过一半的子串里面都有出现过且长度大于n/2;如果有多个,输出多行。(按字典序输出)也没说会不会出现大写。【题解】后缀数组+二分。把每个字符串之间用一个没出现过的分隔符分开;(从'z'+1开始)100*1000 + 100大... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(125) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】给你n个字符串。让你找一个字符串s.设s'为这个字符串的逆序。要求s或者s'在每个字符串里都能够找得到.并且要求s的长度最长。求出这个最长的串的长度.【题解】把n个串,每个串逆序或者是倒序.顺序加成一个串.(标记一下每个串是属于第几个串..逆序顺序属于同一个串!)(中间... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(78) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 给你一个长度最多为2万的序列(由1..88这些数字组成)。 让你在里面找一个子串。 这个子串或它的转置子串(就是每个数字都加上或减去相同的数字)在这个序列中 出现了至少两次,且没有重叠部分。让你求这个子串最长能够多长。 这个子串的长度最少... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(103) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 求两个串的长度大于等于k的公共子串个数。 相同的重复计数。【题解】 先把两个字符串用一个分隔符分开。最好比出现的字符都大的一个数字。 然后,对于这一个字符串,求出它的Height和Sa数组。 然后,把height 数组【连续】大于等于k的... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(133) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】给你一个字符串s以及一个整数k;让你找出这个字符串里面,恰好出现了k次的子串的个数。k>=1【题解】后缀数组题。对于输入的字符串。求出它的Height数组。然后预处理出ST表。便于求区间的最小值。然后顺序枚举后缀的排名i;对于height数组。height[i]实际上包... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(206) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 n个人; 由姓和名组成。s1[i]和s2[i]; 有m个询问串。 问你第j个询问串,是否为某个人的姓或者名的子串。 如果是的话,那个人就要答到。 每个询问串,问有多少个人答到。 最后再输出一行,每个人分别答到 多少次。【题解】... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(89) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】问你n个串里面有没有一个串,使得其余n-1个串都是他的子串。【题解】后缀数组.答案肯定是那个最长的串。则,把那个串求一下Sa数组(注意仅仅那个最长的串求)。然后枚举其余n-1个子串。看看它们是不是那个最长的串的子串;(可以用一个类似二分的东西判断它是不是子串。);(字符... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(92) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 给你一个长度为n的字符串以及m个询问。 每个询问询问你所给的一些后缀,所有任意两个后缀之间的lcp的总和; n利用Sa数组 即输入一个x,x--; sort(a+1,a+1+t,cmp); cmp-> return rank[a] ... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(225) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 给你一个长度为n的字符串s; 标志了每一杯酒; 以及n个数字,表示每一杯酒的美味度ai。 两杯酒(i,j)称为r相似 当且仅当s的后缀i和后缀j的lcp>=r 然后问你r相似的酒里面任意两个酒的ai*aj的最大值. 以及r相似... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(97) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 还有更简洁的题目描述吗/xk【题解】 对于lenti+lentj这一部分,比较好处理。 可以弄一个前缀和。 然后O(N)扫描一遍。 就能处理出来。 那么现在的问题就是lcp(Ti,Tj)这里 只要能算出来这个,就能得到答案了 ... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(105) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 给你一个长度为n的数组a[] 设b[i] = a[i+1]-a[i]; 然后让你在b[i]里面找ABA的形式。 这里B的长度要求为m; 然后让你找这样的连续段的个数。 ni,2i,3i 枚举每一个关键点->x ... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(156) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 给你一个长度为n的子串; 让你求出第k小的子串是什么; 输出答案的类型分两种; 第一种,重复的算两次,第二种,重复的算一次。 你的程序要能分别处理这两种情况。 n最大5*10^5【题解】 感觉是道裸的后缀数组了。 ... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(93) 评论(0) 推荐(0) 编辑
摘要:【链接】h在这里写链接【题意】 给你n个单词; 这n个单词组成了一篇文章; 问你每个单词在这篇文章中出现了多少次. 其中每个单词之间用一个逗号隔开->组成一篇文章。 (单词的总长度不会超过10^6) 单词的个数小于等于200【题解】 后缀数组题. 把每... 阅读全文
posted @ 2017-10-04 18:44 AWCXV 阅读(138) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示