小a的回文串
時間限制:c/c++ 2秒,其他語言4秒
空間限制:c/c++ 262144k,其他語言524288k
64bit io format: %lld
一行乙個字串表示給定的字串s一行乙個字串表示給定的字串s
一行輸出乙個整數,表示通過這樣的操作後可以得到最大回文子串的長度。題解:將輸入的字串s分成兩段調換順序賦到字串ss中,利用manachar演算法求出最長回文串長度,取各種分段情況回文串長度最大值。
#include#include#include#includeusing namespace std;
char s[50155],ss[50155];
int p[50155];
void init(int lens)
ss[0]='@';
//@&.&.&...&
}int manachar(char *s,int len)
return ans;
}int main()
printf("%d\n",mx);
}return 0;
}
牛客 小A的回文串 最長回文串,馬拉車演算法
題目 題目鏈結 小a只想知道給定的乙個字串的最大回文子串是多少,現在小a可以對這個字串做一些改動,他可以把這個字串最前面的某一段連續的字元 不改變順序 移動到原先字串的末尾。那麼請問小a通過這樣的操作之後 也可以選擇不移動 能夠得到最大回文子串的長度是多少。思路 1列舉所有字串 使用馬拉車演算法 2...
牛客小白月賽 小A的回文串
時間限制 c c 2秒,其他語言4秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 一行乙個字串表示給定的字串s一行乙個字串表示給定的字串s一行輸出乙個整數,表示通過這樣的操作後可以得到最大回文子串的長度。示例1 複製dcbaabc複製 7將前面的...
牛客 小A的回文串 Manacher模板題
題目大意 給出乙個字串s,現在可以對字串進行一次操作,具體規則是可以將字串的乙個字首在不改變順序的情況下變為其字尾,問如何操作可以使得最長回文子串的長度盡可能長,題目要求輸出最長的長度 題目分析 本來看完題目以為是需要一點思維的題目,但看完資料範圍後感覺可以直接莽一發,試了一下還真就a了,真就是個模...