码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
后缀数组模版
char s[maxn]; int sa[maxn]; int t[maxn], t2[maxn], c[maxn]; int rank[maxn], height[maxn]; int n; void build_sa(int m) { int i, *x = t, *y = t2; for(i = 0; i < m; i++) c[i] = 0; for(i = 0; i < n; ...
分类:其他好文   时间:2014-07-22 23:04:34    阅读次数:293
Codeforces Round #244 (Div. 2)D (后缀自动机)
Codeforces Round #244 (Div. 2)D (后缀自动机) (标号为0的节点一定是null节点,无论如何都不能拿来用,切记切记,以后不能再错了) 这题用后缀自动机的话,对后缀自动机的很多性质有足够深刻的理解。没想过后缀数组怎么做,因为不高兴敲。。。。 题意:给出两个长度均不超过5000的字符串s1,s2,求这两个串中,都只出现一次的最短公共子串。 解题思路:求的是公共子...
分类:其他好文   时间:2014-05-10 09:17:40    阅读次数:313
后缀数组入门
整理自《后缀数组——处理字符串的有力工具》...
分类:其他好文   时间:2014-05-04 18:45:59    阅读次数:460
CF(427D-Match & Catch)后缀数组应用
题意:给两个字符串,求一个最短的子串。使得这个子串在两个字符串中出现的次数都等于1.出现的定义为:可以重叠的出现。 解法:后缀数组的应用。从小枚举长度。如果一个长度len合法的话:则一定存在这个样的sa[i]排名。sa[i]与s[i+1]的公共前缀长度大于等于len,且sa[i]与[i-1]的公共前缀长度小于len,同时sa[i+1]与[i+2]的公共前缀长度小于len,同时保证sa[i...
分类:其他好文   时间:2014-05-04 09:42:00    阅读次数:275
CF 427D Match & Catch 求最短唯一连续LCS
题目来源:CF 427D Match & Catch 题意:给出2个字符串 求最短的连续的公共字符串 并且该字符串在原串中只出现一次 思路:把2个字符串合并起来求height 后缀数组height的应用 #include #include #include using namespace std; const int maxn = 100010; char s[maxn]; int s...
分类:其他好文   时间:2014-05-04 09:32:45    阅读次数:315
CF:Problem 427C - Checkposts强连通Tarjan算法
这题昨晚做了,刚开始看题的时候没想出好法子,然后就看D题了,一看D题发现是后缀数组,然后就把模板改了点就交了上去……不幸的是……WA了,然后重新看题,果然题目看漏了……不仅要用后缀数组和前缀数组求出公共子缀,还要是求最小的,而且在每个串里都不能重复的,这下就想了会不会了,然后看见大帝C过了,然后就重新回来看C了,看了会终于明天怎么做了。 C题意:给个图,然后每个点都有权值,求最小的花费及方案数;...
分类:其他好文   时间:2014-05-03 21:44:35    阅读次数:260
cf244D. Match & Catch 字符串hash (模板)或 后缀数组。。。
D. Match & Catch 可以用各种方法做,字符串hash,后缀数组,dp,拓展kmp,字典树。。。 字符串hash(模板) http://blog.csdn.net/gdujian0119/article/details/6777239 BKDR Hash Function : // BKDR Hash Function unsigned int BKDRHash(c...
分类:其他好文   时间:2014-05-03 21:20:47    阅读次数:282
Codeforces Round #244 (Div. 2)
Codeforces Round #244 (Div. 2) 解题报告...
分类:其他好文   时间:2014-05-03 21:10:40    阅读次数:314
POJ 3882 Stammering Aliens 后缀数组height应用
题目来源:POJ 3882 Stammering Aliens 题意:给你m一个一个字符串 求至少出现m次的最长字符串 可以在字符串中重叠出现 思路:二分长度l 然后从height数组中找长度大于等于l的前缀 #include #include #include using namespace std; const int maxn = 40010; char s[maxn]; in...
分类:其他好文   时间:2014-05-01 17:36:34    阅读次数:334
后缀数组之构建的一目了然说明
什么是后缀数组?后缀数组是一种解决字符串问题的有力工具。相比于后缀树,它更易于实现且占用内存更少。在实际应用中,后缀数组经常用于解决字符串有关的复杂问题。先介绍几个后缀数组中的基本定义:子串:字符串S 的子串r[i..j],i≤j,表示r 串中从i 到j 这一段,也就是顺次排列r[i],r[i+1]...
分类:其他好文   时间:2014-04-28 15:54:52    阅读次数:564
1340条   上一页 1 ... 132 133 134
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!