hdu 3294 Girls' research
来源:互联网 发布:sql存储过程语法 编辑:程序博客网 时间:2024/05/21 15:42
这道题,拉马车的基础。。
但是一开始爆炸了,因为自己手贱写了一句memset。。
因为v【i】这个东西源自id,而id必定滞后于i,所以不需要初始化。。
#include<cstdio>#include<iostream>#include<cstring>using namespace std;int v[1001000*2];char test[1001000*2];char ch[2];int main(){ while(scanf("%s %s",ch,test)!=EOF) { int len=strlen(test); for(int i=len;i>=0;i--) { test[i*2+2]=test[i]; test[i*2+1]='#'; } test[0]='*'; int id=0; int maxlen=0; int maxwho; for(int i=1;i<=len*2;i++) { if(v[id]+id>i) { v[i]=min(v[id-(i-id)],v[id]-(i-id)); } else { v[i]=1; } while(test[i+v[i]]==test[i-v[i]]) { v[i]++; } if(v[id]+id<v[i]+i) { id=i; } if(v[i]>maxlen) { maxlen=v[i]; maxwho=i; } } maxlen--; if(maxlen==1) { printf("No solution!\n"); } else { int left=(maxwho-maxlen)/2; int right=(maxwho+maxlen)/2-1;//这里就体现出拉马车的强大了,因为它统一了奇数位和偶数位的情况。。 printf("%d %d\n",left,right); int zhan=ch[0]-'a'; for(int i=left*2+2;i<=right*2+2;i=i+2) { if(test[i]!='*'&&test[i]!='#') { test[i]=test[i]-zhan; if(test[i]<'a') { test[i]+=26; } printf("%c",test[i]); } } printf("\n"); } } return 0;}
0 0
- hdu 3294 Girls' research
- hdu 3294 Girls' research
- HDU 3294 Girls' research
- hdu 3294 Girls' research
- HDU 3294Girls' research
- [manacher] hdu 3294 Girls' research
- hdu 3294 Girls' research(manacher)
- HDU - 3294 Girls' research(manacher)
- hdu 3294 Girls' research【manacher】
- HDU 3294 Girls’ research Manacher
- HDU 3294 Girls' research 字符串-manacher算法
- HDU 3294 Girls' research (manacher)
- hdu 3294 Girls' research Manacher回文串
- HDU.3294 Girls' research Manacher Algorithm
- HDOJ 3294 Girls' research
- hdu-3249-Girls' research -mancher
- HDU 3294 Girls' research (Manacher算法 + 记录区间)
- HDU 3294 Girls' research (Manacher算法 + 记录区间)
- 关键字const有什么含意?修饰类呢?static的作用,用于类呢?还有extern c的作用
- quartz CronExpression表达式
- 你好
- Android主题换肤 无缝切换
- Android性能优化典范(一)
- hdu 3294 Girls' research
- 关于AndroidStudio中包重复引用的问题(Duplicate Entry)
- swift开发 创建Extension(即OC中的category)
- Qt5中部分自带控件菜单(QLineEdit、QTextEdit右键菜单)的汉化
- org.springframework.dao.DataAccessResourceFailureException: could not execute query; nested exceptio
- IP数据包个人理解
- vim的基本命令
- C++ rand()
- Spring Security 4 安全视图片段 使用标签(Spring Security 标签)