hdu_3294_Girls' research(Manacher)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3294
题意:给你一个字符和一个字符串,第一个字符表示该字符代表a,然后让你求变换后的最长回文区间并输出(这里的回文长度要大于1)
题解:直接上马拉车,然后记录一下区间
#include<cstdio>
#include<cstring>
#define min(a,b) (a)>(b)?(b):(a)
#define max(a,b) (a)>(b)?(a):(b)
const int maxn = ;//字符串长度
int lb,rb;//左右区间
struct Manacher{
char str[maxn<<];
int p[maxn<<],len,mx,id,tl,ans,i;
int maxlen(char *s){
len=strlen(s),mx=,id=,tl=,str[tl++]='$',str[tl++]='#';
for(i=;i<len;i++)str[tl++]=s[i],str[tl++]='#';
for(i=,str[tl]=,ans=;i<tl;i++){
p[i]=mx>i?min(p[(id<<)-i],mx-i):;
while(str[i-p[i]]==str[i+p[i]])p[i]++;
if(i+p[i]>mx)mx=i+p[i],id=i;
if(ans<p[i])ans=p[i],lb=(i-p[i])/,rb=(i+p[i])/-;
}
return ans-;
}
}M;
char s[maxn],tt[];
int main(){
while(~scanf("%s%s",tt,s)){
for(int i=,tmp=tt[]-'a';s[i]!='\0';i++){
s[i]-=tmp;
if(s[i]<'a')s[i]=s[i]-'a'+'z'+;
}
int r=M.maxlen(s);
if(r>){
printf("%d %d\n",lb,rb);
for(int i=lb;i<=rb;i++)printf("%c",s[i]);
printf("\n");
}else printf("No solution!\n");
}
return ;
}
hdu_3294_Girls' research(Manacher)的更多相关文章
- Girls' research(manacher)
Girls' research Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) ...
- hdu 3294 Girls' research(manacher)
Problem Description One day, sailormoon girls are so delighted that they intend to research about pa ...
- hdu3294 Girls' research manacher
One day, sailormoon girls are so delighted that they intend to research about palindromic strings. O ...
- HDU3294 Girls' research —— Manacher算法 输出解
题目链接:https://vjudge.net/problem/HDU-3294 Girls' research Time Limit: 3000/1000 MS (Java/Others) M ...
- Hdu 3294 Girls' research (manacher 最长回文串)
题目链接: Hdu 3294 Girls' research 题目描述: 给出一串字符串代表暗码,暗码字符是通过明码循环移位得到的,比如给定b,就有b == a,c == b,d == c,.... ...
- 【 HDU3294 】Girls' research (Manacher)
BUPT2017 wintertraining(15) #5F HDU - 3294 题意 给定字母x,字符串变换一下: 'x'-1 -> 'z', 'x'->'a', 'x'+1-> ...
- HDU----(3294)Girls' research(manacher)
Girls' research Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)T ...
- (回文串 Manacher )Girls' research -- hdu -- 3294
http://acm.hdu.edu.cn/showproblem.php?pid=3294 Girls' research Time Limit:1000MS Memory Limit:32 ...
- HDU 3294 (Manacher) Girls' research
变形的求最大回文子串,要求输出两个端点. 我觉得把'b'定义为真正的'a'是件很无聊的事,因为这并不会影响到最大回文子串的长度和位置,只是在输出的时候设置了一些不必要的障碍. 另外要注意一下原字符串s ...
随机推荐
- laravel 日志
laravel学院的 http://laravelacademy.org/post/195.html 他人博客的 http://www.cnblogs.com/yjf512/p/4173261.htm ...
- redis12--常用API
上一篇总结我们使用我们本地的Eclipse中创建的jedis工程,链接到了我们处于VMware虚拟机上的Linux系统上的Redis服务,我们接下来讲一下jedis的一些常用的API.(1)jedis ...
- flume从kafka读取数据到hdfs中的配置
#source的名字 agent.sources = kafkaSource # channels的名字,建议按照type来命名 agent.channels = memoryChannel # si ...
- Ubuntu 14.0 升级内核到指定版本
1.卸载现有内核sudo apt purge linux-headers-* linux-headers-*-generic linux-image-*-generic linux-image-ext ...
- javaWEB总结(14):请求的转发和重定向
通俗理解请求转发与重定向的流程 通俗的来讲:我们可以把请求转发和重定向当成是一种借钱的情景模式. (1)请求的转发:A向B借钱,B自己没有钱,但是向C借到了钱,并且把钱借给了A.A只向B请求了一次. ...
- Mac MySQLdb模块安装,可算解决了
转载:http://blog.csdn.net/janronehoo/article/details/25207825 短评:这篇文章感觉是比较全面解决Mac MySQLdb模块安装问题的文章了,特别 ...
- R绘图学习笔记(二)-
依照计量对比药物A和药物B的响应情况 #计量向量 dose <- c(20,30,40,45,60) #药物A的反应向量数据 drugA <- c(16,20,27,40,60) #药物B ...
- 如何在sublime中使用sass
搞了好久,终于把sass搞定了. 最开始,我是想使用koala来实现对sass的实时编译的,但是每当我保存的时候,总是弹出erro错误,即无法编译生成css文件,百度了半天,问了好久,这个问题还是没能 ...
- 第七十三节,css盒模型
css盒模型 学习要点: 1.元素尺寸 2.元素内边距 3.元素外边距 4.处理溢出 本章主要探讨HTML5中CSS盒模型,学习怎样了解元素的外观配置以及文档的整体布局. 一.元素尺寸 CSS盒模型中 ...
- 在 Sublime Text 3 中快捷打开 git-gui
在文件夹右键菜单上可以方便的打开 git-gui,在 st 里面也可以添加这个右键菜单. 步骤如下: 安装 SideBarEnhancements 插件. 在 SideBarEnhancements ...