非manacher算法的最长回文串算法
2017-05-31 18:04
316 查看
在hihoCoder上发现了比manacher更快的算法, 看上去很暴力,但跑起来蜜汁快,记录一下贴出来
#include <bits/stdc++.h> using namespace std; const int N = 1000000 + 10; char str ; int fast(char *str) { int ans = 0; str[0] = '?'; for(int i = 0; str[i]; i++) { int s = i, e = i; while(str[e+1] == str[i]) ++e; i = e; while(str[s-1] == str[e+1]) --s, ++e; ans = max(ans, e - s + 1); } return ans; } int main() { int n; scanf("%d", &n); while(n--) { scanf("%s", str + 1); printf("%d\n", fast(str)); } return 0; }
相关文章推荐
- HDU 3068 manacher算法(O(n)的最长回文串算法)
- 【Manacher算法】求最长回文串的优秀算法
- Manacher 算法 求最长字回文串
- hdu 3068 && pku 3974 (最长回文串)(Manacher 算法)
- psd面试(最长回文子串 == 最长公共子序列 lcs) 另附最长回文串算法
- 算法笔记_032:最长回文串(Java)
- 最长回文串长度——manacher算法
- Manacher算法 - 求最长回文串的利器
- 最长回文子串 Manacher算法--O(n)回文子串算法
- hdu----(4513)吉哥系列故事——完美队形II(manacher(最长回文串算法))
- hdu 3068 最长回文串 o(n) Manacher 算法
- 求回文串(Manacher算法)~算法竞赛入门-基础篇
- HDU3068-manacher算法-最长回文串
- 最长回文, O(n) 复杂度算法, Manacher算法
- [算法学习]最长回文子串:Manacher算法
- HDU 3068 最长回文(Manacher算法解决最长回文串问题)
- Python算法实践——最长回文串
- 最长连续回文串(Longest Palindromic Substring)算法探究
- O(N)最长回文子串算法——Manacher算法
- 最长回文串O(N)算法 manacher