题意:
给一个字符x代表真实的a 然后输出的时候转换
然后就是求最长回文子串的串是什么 长度要大于1
思路:
就是裸的manacher,弄清楚下标的转换关系就好了
代码:
#include"cstdlib"
#include"cstdio"
#include"cstring"
#include"cmath"
#include"queue"
#include"algorithm"
#include"map"
#include"vector"
#include"string"
#define inf 0x7fffffff
#include"iostream"
#define ll __int64
using namespace std;
#define N 200005
char a[N],b[N*2];
int rad[N*2];
int main()
{
char x[2];
while(scanf("%s%s",x,&a[1])!=-1)
{
int maxl,maxid,id;
int i,len;
for(i=1; a[i]; i++)
{
b[i*2]=a[i];
b[i*2+1]='#';
}
len=2*i;
b[0]='?';
b[1]='#';
b[len]='