码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
[hdu3336]kmp(后缀数组)
题意:求字符串s的所有前缀出现次数之和。http://www.cnblogs.com/jklongint/p/4446117.html思路:用kmp做,简单且效率高。以前缀结尾的位置分类,令dp[i]为以结尾位置在i的前缀数量,那么dp[i] = cnt(j)(j~i是前缀),而由kmp的next函...
分类:编程语言   时间:2015-04-23 07:08:52    阅读次数:170
POJ3294--Life Forms 后缀数组+二分答案 大于k个字符串的最长公共子串
Life FormsTime Limit:5000MSMemory Limit:65536KTotal Submissions:10800Accepted:2967DescriptionYou may have wondere...
分类:编程语言   时间:2015-04-22 22:10:49    阅读次数:155
bzoj 2946
二分+后缀数组在height数组上二分 1 /************************************************************** 2 Problem: 2946 3 User: idy002 4 Language: C++ ...
分类:其他好文   时间:2015-04-22 21:55:49    阅读次数:173
POJ 3261 (后缀数组 二分) Milk Patterns
这道题和UVa 12206一样,求至少重复出现k次的最长字串。首先还是二分最长字串的长度len,然后以len为边界对height数组分段,如果有一段包含超过k个后缀则符合要求。 1 #include 2 #include 3 #include 4 using namespace std; 5 ...
分类:编程语言   时间:2015-04-22 20:19:37    阅读次数:199
UVa 12206 (字符串哈希) Stammering Aliens
体验了一把字符串Hash的做法,感觉Hash这种人品算法好神奇。也许这道题的正解是后缀数组,但Hash做法的优势就是编码复杂度大大降低。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = ...
分类:其他好文   时间:2015-04-22 13:52:25    阅读次数:122
poj 3693 Maximum repetition substring(08合肥 RMQ+后缀数组)
传送门:http://poj.org/problem?id=3693 题目:给出一个串,求重复次数最多的连续重复子串; 分析: 枚举重复单元的长度,然后理所当然的枚举起点。利用rmq处理,后缀i,i+l的最长前缀。 lcp/l+1,为当前相邻l长度单元的串的重复次数,但是由于i+=l,提高了效率,但是i不一定刚好是重复串的起点,所以如果r%l!=0,把串往前移l-r%l个单位。找到...
分类:编程语言   时间:2015-04-22 09:36:52    阅读次数:178
后缀数组学习笔记
妈呀被后缀数组虐的死去活来。。。一开始去看后缀树。。好像很麻烦的样子,后来再看后缀数组,理论好像很好懂的样子,不会实现呀。。 这充分证明了我有多傻逼,花了整整一天才看懂如何实现,还是因为我基数排序没学好?。。。 (update:然后又花了一天看懂求height。。。) 好好看这张图。。。很重要。。 无脑直接排序的时间复杂度是O(n^2logn)因为字串比较是O(n) 这里介绍...
分类:编程语言   时间:2015-04-22 09:33:43    阅读次数:132
BZOJ3998 : [TJOI2015]弦论
求本质不同的第k小子串:求出后缀数组,从0开始扫到n-1,到sa[i]为止一共有sum[i]个本质不同的子串sum[i]=sum[i-1]+n-sa[i]-height[i]直到sum[i]>=k为止求第k小子串:构造后缀树,设f[x]表示以x为前缀的子串数目,g[x]表示以x为前缀的后缀数目查询时...
分类:其他好文   时间:2015-04-21 17:56:35    阅读次数:142
HDU 4416 Good Article Good sentence
思路倒是一直有,就是好难实现,最后写出来了还是WA了,然后参考了别人的思路 才发现自己对于字符串的不同子串数的求解原理还不是很清楚,然后重新理解了遍 在这道题中,我们每找到一个A后缀,只要找出该后缀已经计算过的子串数就可以了,用pos数组保存 最后还要注意ans要用long long,并且在计算之前就先进行类型转换 #include #include #include using nam...
分类:其他好文   时间:2015-04-21 13:03:41    阅读次数:141
后缀数组 --- WOj 1564 Problem 1564 - A - Circle
Problem 1564 - A - CircleProblem's Link: http://acm.whu.edu.cn/land/problem/detail?problem_id=1564Mean:给你一个长度不超过1e6的数字串,求第k大的环状数字串的前面那个位置。analyse:好吧,我...
分类:编程语言   时间:2015-04-20 20:44:48    阅读次数:164
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!