ural1297. Palindrome
1297. Palindrome
Memory limit: 64 MB
In addition, it is reasonable to assume that the agent will be sending a very long message, so John has simply to find the longest message satisfying the mentioned property.
Input
Output
Sample
| input | output |
|---|---|
ThesampletextthatcouldbereadedthesameinbothordersArozaupalanalapuazorA |
ArozaupalanalapuazorA |
Problem Source: IX Open Collegiate Programming Contest of the High School Pupils (13.03.2004)
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int N=1e6+;
char s[N],S[N<<];
int l,p[N];
void manacher(){
int mx=-,id=,ans=,pos=;
for(int i=;i<l;i++){
if(id+mx>i) p[i]=min(p[id*-i],id+mx-i);
while(i-p[i]->=&&i+p[i]+<=l&&S[i-p[i]-]==S[i+p[i]+]) p[i]++;
if(id+mx<i+p[i]) id=i,mx=p[i];
if(ans<p[i]) ans=p[i],pos=i;
}
bool f=;
if(S[pos]!='#') pos++;else f=;
pos/=;ans/=;
s[pos+ans+]=;pos-=ans;
if(f) pos++;
puts(s+pos); }
int main(){
while(scanf("%s",s+)==){
int len=strlen(s+);
l=-;
for(int i=;i<=len;i++) S[++l]='#',S[++l]=s[i];
S[++l]='#';
manacher();
}
return ;
}
/*
in:
oUtkzqGlUgWNznyqfXYTPFLgaQrHORMTuKJZtFsmAcWGgMJvtSrRIjElhsCiSGKCFFrHpxdcmQnEZpYsujebwDWhwMbyuDWWHWBJJQlxeCVgokrOuTGbRfVmlionoQiQPGkvMmfNfhohxQvseSoUZOKkXTVxiElofJtujfZPVBWfKBrCrmEyznOUorfwpsYirVQdKwKKWOHoYLDuqqczmqPHBBVpaqldmhmiEdgeqaspGyFbYqdsARnqzcjmjgtndaTpfeFfvVVvooCyOdnelFzDqjzcqRKckRXTnQCWvPRmpnnrRfveyGpWqxcLqEOmotDisqghJtwcouyanxyRAdUvqdLlIvElpleVqEcxBvuYnhTGsoZIfdTdnuCVWOjbfUFtZbaXCIvNaJMsVfhAZfwbHQnmXosLByYxgpCPisNtEuEQsZRZpCTRobllnIYFUKpovYAxhnAUlAamcdkOvZdAHWrGksuYkoOvebZEPGnHZfbvKVgFyrxCtcNzBYpOFgKhSvGPQkEtiRbsQaxAJqlPgnVmTdJXHpmQgVHOCeoSmamjQduUAiRYanAOYgVRmCigUMvFkQSSbNvwTEfozQaucpVIqJHYgtIuxPZZwSySCSkEBnZupGjObKQGQkVCwmtovnjjomQfdieqAxbwpVcEVChnhwuyAagRoqVtDXsThdcWKAFZNAlKkrDwHQFuQwBssJzhKSrotpApDGtUFBngTIZDKMsVVKxTtkKKpdaxfWQrvJelGANVdBnkjATsMMyaLnrOxZnPXGEgBxtrJEVkmjxfNBZfRxQrpLynfSvgXzRnscYgWWBbcxWRRMDAJUNzFFGVRoZAmKYhSNbYViyDqvvHsLDhWNPzvFRcFjFoHRKAZQxEFqjIrDwTpMMbEjCAmgXGZNZzGfVwcCsBKaKANKTANUATiYBKZymiyivxcmZKPabatfPycfXlaoZKhoKvsLyNfnyEkwbjVIvspuBtTKLOjyOcJELAekNvSiVBmXjppmDCFMrMtRjTAeYPgtDFKaemyogaQXMgfNatcdDvifnGzThQaFvfWWjVMjwcXKtnnLXXvnbemzqutODxDobpYUVkuPAadLanwqLfNNWDwvVYPjbPdtoduKgyMLQUCWHCaGaNaFSpjBkaRUOYNBeJvOKYsKEESsmSjDsveeuBZOqRPiVwbDrMWfsCTHXFhLgHlvoAOLFrqhlVGMZzzMpqfOfGSGvQLdMvuhOBZOLCZCjMNcBTchgRdVinfDQLxIXyIpXmphiahHBAYKSoxhyNOObaTCScNqxAsCuIQFiVmlKXLfqnwqIwSkgDfKHYSZIaSFBJHjjOouipFcGYnlQsYMvKLkvKBaHhtoIriHlompThnVmkruGcDcjWrsXcOPmLgHubSbmgnDIjfaCunFbIyLdkJlxwDDMFFaiGwYxwXGoCnuLQDduVNLPIwtMReBYDmociAyhGigBCAKOGEjPMOYUwxeIiGLszkeKbirqQTRtrZYTugzHTXQvTUgTtcdeaCJBYJFGntXPFeAUHBNQOhFALajNUPdEPYrzqoaMExiuWYDqWZacaFtFsUdUcTAliSiBinQZRiaQkbUSnoJwAzJaKyHcUWtmpCfMAIejjlursXVyTOGraEjiVKTqmpoIRPmtWQlqYbRomfNVFgfSGSXkpqHeqOUlHOunGUpDuYTEZIOXjIrJMFQKjZMZhUQHZUWpRuCvYouLNsqanKdeRJJRaMBMEDKznPSYMsVATAXPkreBYPHVWGKZwlQxHCiXmnKYVnusYdDhHAlFuKKhKyYANJYIcukqHVqzCfiOdrgklcVqjHUFhQnQqnGJgqnDutvECxkfUkqwFzIoHUJvVibbbZydwXaYlGQLweQZNvuxnJrfiKEDlEdVfbyfGgbtDVezgjSMLjJmJRFRWYKcBHQpPNihWhBLZurbxhXdNmVwzqyGsoTbucCVxkTkBBviDRJlZVfUnygxmHWbMdDOFHlNZbWfGDJItLDDOCZGkoTprZkAtJgikTHWgEziBNxdspLYliEsOdINixFXBgyNZuSlfwfnIvtFBvYDrRRojBwOiYhjIvHhBquUWSsaScmikxKMsAZsweijSQivoJlUMzyOlwQQIELhdvERYwxxKPoTayBfDxxsCPmWrYXgcfuUNeZvFJoKSlEDQidZdBKZnOGAJaFQwbgKPfCEVBcfSmTgucgKJnkYbbFoXDojHSiUHdkzinrygmyWxtKhlxKvCSwkVApomeausoMTbdmioiFbEgAEYimAzLVLWhITtKEuiIcZEOfGvjOYhjBXlzuKixHyULLkEiWrZuPAjnnmgTwynuFtuydaYhmtBtXuebpBeCKPNibWzycLFiEdZdQkApqFNHlXUkSWkxdLxRBnzTcxXYZzmjjRA out:
vVVv
*/
ural1297. Palindrome的更多相关文章
- Ural1297 Palindrome(后缀数组)
[题目链接] http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=12406 [题意] 求最长回文子串. [思路] 将字符串 ...
- 【ural1297】 Palindrome
http://acm.timus.ru/problem.aspx?space=1&num=1297 (题目链接) 题意 求最长回文子串 Solution 后缀数组论文题 穷举每一位,然后计算以 ...
- 1297. Palindrome ural1297(后缀数组)
1297. Palindrome Time limit: 1.0 secondMemory limit: 64 MB The “U.S. Robots” HQ has just received a ...
- URAL1297:Palindrome——题解
http://acm.timus.ru/problem.aspx?space=1&num=1297 https://vjudge.net/problem/URAL-1297 给定一个字符串,求 ...
- 【Ural1297】Palindrome(后缀数组)
题意:求一个字符串的最长回文子串 n<=1000 思路:这是一道论文题 需要注意的细节: 1.奇偶分类 2.中间的分割符与最后的附加字母都是最小值,但两者不能相同,否则height可能会出现问题 ...
- 回文串---Palindrome
POJ 3974 Description Andy the smart computer science student was attending an algorithms class whe ...
- URAL - 1297 Palindrome —— 后缀数组 最长回文子串
题目链接:https://vjudge.net/problem/URAL-1297 1297. Palindrome Time limit: 1.0 secondMemory limit: 64 MB ...
- PALIN - The Next Palindrome 对称的数
A positive integer is called a palindrome if its representation in the decimal system is the same wh ...
- [LeetCode] Longest Palindrome 最长回文串
Given a string which consists of lowercase or uppercase letters, find the length of the longest pali ...
随机推荐
- LaTeX 中使用三级标题
需要在导言区加入命令:\setcounter{secnumdepth}{4} 而后: \section{一级标题} \subsection{二级标题} \subsubsection{三级标题}
- VMware Workstation 8正式版下载+密钥序列号
http://www.cnblogs.com/balaamwe/archive/2011/12/13/2285972.html摘要: 支持Win8安装,虚拟机VMware Workstation 8正 ...
- classloader常见问题总结
h tp://yourenyouyu2008.iteye.com/blog/779707看到一些ClassNoFindException ,ClassCastException等异常首先应该想到是不是 ...
- echart初体验 动态加载数据
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- .net core 控制台程序使用依赖注入(Autofac)
1.Autofac IOC 容器 ,便于在其他类获取注入的对象 using System; using System.Collections.Generic; using System.Linq; u ...
- 设置右上角的菜单button
效果如图: 刚開始是单独做了个button.发现无法调margin,后来想到外面套一个布局 <?xml version="1.0" encoding="utf-8& ...
- 远程重启WIN服务器
- mysql启动与关闭
撰于:http://wenku.baidu.com/link?url=QV3mEJWnU4c8VZPjKGxz4A8gSmdjO2HZY7n963UaVx4l_uPKrh16tGxLyqjf5i3MA ...
- zookeeper(四):核心原理(Watcher、事件和状态)
zookeeper主要是为了统一分布式系统中各个节点的工作状态,在资源冲突的情况下协调提供节点资源抢占,提供给每个节点了解整个集群所处状态的途径.这一切的实现都依赖于zookeeper中的事件监听和通 ...
- zookeeper(一):功能和原理
简介 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现.分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅.负载均衡.命名服务.分 ...