HDU 3294 Girls' research
manacher
#include<cstdio>
#include<string.h>
#include<algorithm>
using namespace std;
const int Nmax=;
char s[Nmax];
char str[Nmax*+];
int p[Nmax*+];
int hashh[Nmax*+];
int id;
int maxlen;
int len;
int start;
int endd;
void init()
{
id=;
maxlen=;
int n=strlen(s);
str[]='$';
str[]='#';
for(int i=;i<n;i++)
{
str[i*+]=s[i];
hashh[i*+]=i;
str[i*+]='#';
}
str[n*+]='&';
len=n*+;
} void get()
{
for(int i=;i<len-;i++)
{
if(id+p[id]>i)
p[i]=min(p[id*-i],p[id]+id-i);
else
p[i]=;
while(str[i-p[i]] == str[i+p[i]])
p[i]++;
if(p[i]+i>p[id]+id)
id=i;
if(p[i]>maxlen)
{
maxlen=p[i];
start=hashh[i-p[i]+];
endd=hashh[i+p[i]-];
}
}
} int main()
{
char c;
while(scanf("%c",&c)!=EOF)
{
//printf("c:%c\n",c);
getchar();
scanf("%s",s);
getchar();
init();
get();
if(maxlen->=)
{
printf("%d %d\n",start,endd);
for(int i=start;i<=endd;i++)
{
char k=(s[i]-c+)%+'a';
printf("%c",k);
}
printf("\n");
}
else
printf("No solution!\n");
}
return ;
}
HDU 3294 Girls' research的更多相关文章
- Hdu 3294 Girls' research (manacher 最长回文串)
题目链接: Hdu 3294 Girls' research 题目描述: 给出一串字符串代表暗码,暗码字符是通过明码循环移位得到的,比如给定b,就有b == a,c == b,d == c,.... ...
- HDU 3294 Girls' research(manachar模板题)
Girls' researchTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- hdu 3294 Girls' research(manacher)
Problem Description One day, sailormoon girls are so delighted that they intend to research about pa ...
- [manacher] hdu 3294 Girls' research
题意: 给一个字符x代表真实的a 然后输出的时候转换 然后就是求最长回文子串的串是什么 长度要大于1 思路: 就是裸的manacher,弄清楚下标的转换关系就好了 代码: #include" ...
- hdu 3294 Girls' research
#include<stdio.h> #include<string.h> #define MAX 200020 char s[MAX],ss[MAX*2],str[2]; in ...
- (回文串 Manacher )Girls' research -- hdu -- 3294
http://acm.hdu.edu.cn/showproblem.php?pid=3294 Girls' research Time Limit:1000MS Memory Limit:32 ...
- Girls' research(马拉车算法) hdu 3294
文章目录 思路如下 Manachar代码注释 题解如下 Problem Description One day, sailormoon girls are so delighted that they ...
- 回文串--- Girls' research
HDU 3294 Problem Description One day, sailormoon girls are so delighted that they intend to resear ...
- Manacher 算法(hdu 3068 && hdu 3294)
今天打算补前晚 BC 的第二题,发现要用到能在 O(n) 时间求最大回文子串长度的 Manacher 算法,第一次听,于是便去百度了下,看了大半天,总算能看懂了其思想,至于他给出的代码模板我没能完全看 ...
随机推荐
- service structure flowchart [mobile to server via HTTP RESTful API]
Modern flowchart for mobile, server, and etc.. communication This has something to do with these sou ...
- 通过NSURL获取网络标准时间
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...
- mybatis中updateByPrimaryKeySelective
mybatis中updateByPrimaryKeySelective等选择性操作在判断时对于VARCHAR类型需要同时判断非空和非空串 <if test="description ! ...
- C语言之位运算
位运算 1).定义. 指的是1个二进制数据的每一位来参与运算. 位运算的前提: 是这个数必须是1个二进制. 注意: a). 参与位运算的二进制数据必须是补码形式. b). 位运算的结果也是二进制的补码 ...
- abstract class与interface的区别与联系
1.相同点:A. 两者都是抽象类,都不能实例化.B. interface实现类及abstract class的子类都必须要实现已经声明的抽象方法. 2. 不同点:A. interface需要实现,要用 ...
- BootStrap的菜单的快速创建
在bootstrap的3.0版本及以上时,菜单的创建有所改变. 现在,我们只需记住3个类 dropdown open dropdown-menu. 前两个是为ul 列表的父元素用的,最后一个是给ul ...
- SQL性能优化注意事项
1.选用适合的Oracle优化器 Oracle的优化器共有3种: a.RULE(基于规则) b.COST(基于成本) c.CHOOSE(选择性) 设置缺省的优化器,可以通过对init.ora文件中OP ...
- springmvc-interceptor(拦截器)
在大配置中配置拦截器代码如下: <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" ...
- lzo压缩格式文件查看
使用lzop命令解压并查看 :lzop -cd xxx.lzo |more 附压缩命令:lzop xxx.log (生成xxx.log.lzo) 其它参数: # lzop -v test # 创建te ...
- Python学习懒出极致——自备常用链接
linux: samba配置:http://blog.chinaunix.net/uid-23069658-id-3142052.html ubuntu: mysql启停:http://www.2ct ...