ural1297】的更多相关文章

http://acm.timus.ru/problem.aspx?space=1&num=1297 (题目链接) 题意 求最长回文子串 Solution 后缀数组论文题 穷举每一位,然后计算以这个字符为中心的最长回文子串.注意这里要分两种情况,一是回文子串的长度为奇数,二是长度为偶数.两种情况都可以转化为 求一个后缀和一个反过来写的后缀的最长公共前缀.具体的做法是:将整个字符串反过来写在原字符串后面,中间用一个特殊的字符隔开.这样就把问题变为了求这个新的字符串的某两个后缀的最长公共前缀.如图:…
http://acm.timus.ru/problem.aspx?space=1&num=1297 https://vjudge.net/problem/URAL-1297 给定一个字符串,求最长回文子串. 论文题,摘一下论文的图片,保证一下就看懂了. (由于我摘不下来图片所以用了https://www.cnblogs.com/lidaxin/p/5002878.html的图片,代码也是参考的他) emm要是还没看懂的话稍微解释一下吧. 也就是说,实际上我们是把反串接到正串后面,然后后缀数组高度…
题意:求一个字符串的最长回文子串 n<=1000 思路:这是一道论文题 需要注意的细节: 1.奇偶分类 2.中间的分割符与最后的附加字母都是最小值,但两者不能相同,否则height可能会出现问题 答案即为min(height[rank[x]+1]...height[rank[y]]) ..,..]of longint; x,y,sa,rank,height,a,wc,wd:..]of longint; ch:ansistring; n,m,i,k,max,tmp,t,j:longint; fun…
先来看一道简单的题,ural1297 给定一个1000长度的字符串,求最长回文子串. 看起来很Naive,乱搞一下,O(n^2)都可以解决. 再来看这个题 HDU3068 120个110000长度的字符串,是不是感觉有点困难了?据说后缀数组也要TLE 给出一个O(n)的解决方案 manacher算法 很有趣的利用了回文子串的性质,进行递推更新. 转载自http://blog.csdn.net/ggggiqnypgjg/article/details/6645824 这里,我介绍一下O(n)回文串…
    [题目链接] http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=12406 [题意] 求最长回文子串. [思路] 将字符串反向拼接在后,中间用一个没有出现的字符隔开,则问题转化为求新字符串两个特定后缀的lcp,枚举对称点i,对称数为奇的情况对应求lcp(i,n-i),对称数为偶的情况对应求lcp(i,n-i-1). 如图所示: 两个后缀的lcp可以用Sparse Table算法(倍增)在O(nlogn)时间内求解. […
1297. Palindrome Time limit: 1.0 secondMemory limit: 64 MB The “U.S. Robots” HQ has just received a rather alarming anonymous letter. It states that the agent from the competing «Robots Unlimited» has infiltrated into “U.S. Robotics”. «U.S. Robots» s…
题解: 后缀数组 st表处理加速lcp 把串后面加一个不可能出现的字符 然后再把串倒过来放在后面 暴力枚举中心 判断lcp 代码: #include<bits/stdc++.h> using namespace std; ; ]; char str[N]; int cmp(int *r,int a,int b,int l) { return r[a]==r[b]&&r[a+l]==r[b+l]; } void da(int *r,int *sa,int n,int m) { i…
#include<cstdio> #include<algorithm> #include<cstring> #define N 20005 using namespace std; ]; char s[N]; void suffix_sort() { ; ;i<m;i++) buc[i]=; ;i<=n;i++) buc[x[i]=s[i]]++; ;i<=m;i++) buc[i]+=buc[i-]; for (int i=n;i;i--) sa[…
1297. Palindrome Time limit: 1.0 secondMemory limit: 64 MB The “U.S. Robots” HQ has just received a rather alarming anonymous letter. It states that the agent from the competing «Robots Unlimited» has infiltrated into “U.S. Robotics”. «U.S. Robots» s…
/* 源程序丢失QWQ. 就不粘代码了. 大体做法是把串反转然后连接. 做一遍后缀数组. 对height做一遍rmq. 然后对于每个位置的奇偶分别判断, 记下pos. 注意求的是[l+1,r]的height值. */…