UVA 11888 - Abnormal 89's
题意:给定一个字符串。推断类型。一共三种。两个回文拼接成的,一个回文,其他
思路:利用Manachar处理出每一个位置的最长回文,然后扫描一遍去推断就可以
代码:
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 200005;
int t, p[N * 2], n, len;
char str[N], s[N * 2];
void manachar() {
len = 2;
s[0] = '@'; s[1] = '#';
for (int i = 0; i < n; i++) {
s[len++] = str[i];
s[len++] = '#';
}
s[len] = '