题面见http://uoj.ac/problem/131一道后缀数组题先求出height,然后从大到小枚举每个height。然后对于每个height值,两端的集合中任意一对后缀的LCP都是这个height。我们统计答案之后合并两端的集合,用并查集维护即可。 1 #include 2 #include...
分类:
其他好文 时间:
2015-08-16 12:11:18
阅读次数:
97
http://www.lydsy.com/JudgeOnline/problem.php?id=2534 给定字符串S,求形式为ABA的子串个数,其中B的长度为L。 考虑A的两个起始位置x,y(xx+L 2.LCP(x,y)≥y-x-L 我们按height从大到小枚举,这样LCP就是变成...
分类:
其他好文 时间:
2015-08-14 18:58:09
阅读次数:
341
我笔记本用ubuntu的时候连wifi总是掉线重连,解决的途径是要去看/etc/ppp/下的option
ppp就是点对点协议,所有与ppp配置相关的文件都放在这个目录下
那就sudo vim /etc/ppp/option 吧
在两百一十多行的地方有这样一段
# If this option is given, pppd will send an LCP echo-request...
分类:
系统相关 时间:
2015-08-08 21:25:11
阅读次数:
191
题意: 求长度大于等于K的公共子串的个数。位置不同就算不同。后缀数组求依次SA LCP, 然后就是统计答案了, 暴力统计n^2复杂度显然不可以, 我们可以利用lcp数组的"部分单调性", 用一个栈,栈中保存小于等于当前lcp的原数组的下标,两次统计, 第一次统计, 按B串统计, 把A串大于等于K的那...
分类:
编程语言 时间:
2015-08-07 22:03:51
阅读次数:
125
题意:
给定一个字符串,要求维护两种操作:
I:在字符串中插入一个字符;
Q:询问某两个位置开始的LCP;
插入操作
题解:
第一道RKhash题,...
分类:
其他好文 时间:
2015-07-24 20:47:09
阅读次数:
200
http://acm.hdu.edu.cn/showproblem.php?pid=4691去年夏天,更多的学校的种族称号。当时,没有后缀数组今天将是,事实上,自己的后缀阵列组合rmq或到,但是,题意理解的一个问题,再折腾了很长时间,,,,此处简单解释下题目例子吧,希望对读者有帮助 以最后一组数据为...
分类:
编程语言 时间:
2015-07-23 23:09:49
阅读次数:
194
题目意思就是找一棵按上面链接所示的树对应的上面的两个点的最小公共祖先(LCP,Least Common Father),按照比较大小来依次返回自己的父亲节点就行了。具体看代码:getfather(a)函数是找父亲的代码#include #include #include #include...
分类:
其他好文 时间:
2015-07-20 12:42:00
阅读次数:
212
这个也是简单题目,但是关键在于题意的理解。
题目原文就一句话:Write a function to find the longest common prefix string amongst an array of strings.
题意是给一个字符串数组,找出这个字符串数组中所有字符串的最长公共前缀。
注意是限定的前缀,而不是子串。...
分类:
其他好文 时间:
2015-07-17 22:53:11
阅读次数:
134
模板:
1.快排:
var
rank,height,h:array [0..300000] of qword;
//rank[i]:i的后缀的排名;
//height[i]:lcp(s[a[i,2]...len],s[a[i-1,2]...len]);
//h[i]:lcp(s[i...len],s[a[rank[i]-1,2]...len]);
//...
分类:
编程语言 时间:
2015-07-14 22:47:39
阅读次数:
238
今天学习了一种用hash求解lcp问题的方法。把一段内的hash表示为某个数x的递增次方乘上字符串相应位置的字母对应值,然后二分长度,判断两段的hash值是否相等就可以了。hash值可以用unsigned long long保存,这种类型能在溢出的时候自动mod2^64(看到书上说的)。cogs18...
分类:
其他好文 时间:
2015-07-04 19:36:51
阅读次数:
123