![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
文章平均质量分 71
Merc_A
程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。
展开
-
Poj3974 最长回文子串 Manacher算法
这道题用到的是manacher算法,以前没原创 2014-08-25 19:36:45 · 624 阅读 · 0 评论 -
POJ3261Milk Patterns 后缀数组の变形
每日一题。。 这几天开始搞后缀数组,果然关键时候智商果然不够用,想到现在才有点眉目,虽然这种题千篇一律的模板,但是理解了才能运用的比较好,估计明天我就能自己写模板了。。 题意很明显,k个相同的子串,就是要在求height的时候多判断一下,过了。 #include #include #include #define rep(i,n) for(int i = 0;i < n; i++) usin原创 2015-04-01 18:27:06 · 524 阅读 · 0 评论 -
POJ2774 Long Long Message 后缀数组(裸模板=。=)
省赛加油。 第一次做后缀数组的题,每日一题系列。 裸的后缀数组,讲两个字符串合并,中间加一个其他字符隔断,找出height最大的,且在两个字符串中。 不知道为什么用了两个模板全挂了,连罗穗骞的也不能幸免,明天早仔细研究,智商还是跟不上啊。 #include #include #include using namespace std; const int MAX=210000; in原创 2015-03-31 22:06:54 · 568 阅读 · 0 评论 -
Palindrome后缀数组判断回文子串
求一个字符串的最长回文子串,很明显,把这个串倒过来加到原来的串后面,后缀数组即可,注意中间用1隔开,最后补0,。要注意sa[i-1]和sa[i]要在两个串中且对应位置正好满足关系 : sa[i-1]+sa[i]+height[i])== 2*n+1。这个就很明显了 #include #include #include #define rep(i,n) for(int i = 0;i < n; i原创 2015-04-02 15:35:37 · 441 阅读 · 0 评论 -
Distinct Substrings后缀数组
说好的每日一题,,今天的第二道后缀数组,睡觉前看了一眼,觉得比较简单,果然过了。 求不相同的子串的个数,很明显,求出相同的有几个,即height的和,用总的情况n*(n-\+1)/2减去就好了 #include #include #include #define rep(i,n) for(int i = 0;i < n; i++) using namespace std; const int原创 2015-04-01 21:45:28 · 545 阅读 · 0 评论 -
POJ3693后缀数组+RMQ
每日,, 只粘代码吧,思路一片混乱,等明天想清楚了再说吧,总之就是后缀数组+RMQ,以及字典序的判断(=。=| wa到哭 #include #include #define rep(i,n) for(int i = 0;i < n; i++) #include #include using namespace std; char s[100010]; #define maxn 100000+1原创 2015-04-06 20:44:29 · 448 阅读 · 0 评论