最长回文串——Manacher模板
来源:互联网 发布:九品网络电视安卓9ptv 编辑:程序博客网 时间:2024/06/06 07:51
#include <cstring>#define Max 2505char s[Max] ;char str[Max] ;int rad[Max] ;int manacher () { int len = strlen(s) ; int max = 0; str[0] = '$'; str[1] = '#'; int i = 0 ; for (; i < len; i++) { str[i * 2 + 2] = s[i]; str[i * 2 + 3] = '#'; } str[2 * len + 2] = 0; for (int i = 1; i < 2 * len + 2 ; i++) { rad[i] = 0; } int id = 0; for (i = 1; i < 2 * len + 2; i++) { if (max > i) rad[i] = min(rad[2 * id - i], rad[id] + id - i) ; else rad[i] = 1 ; while (str[i + rad[i]] == str[i - rad[i]]) rad[i] ++ ; if (rad[i] + i > max) { max = rad[i] + i; id = i; } } int mx = 0; for (i = 1; i < 2 * len + 2 ; i++) { if (mx < rad[i] - 1) mx = rad[i] - 1; } return mx;}
别人的代码,目前测试过了一道简单题
转自:http://blog.csdn.net/acm_baihuzi/article/details/41704583
0 0
- 最长回文串——Manacher模板
- Manacher 模板 最长回文串
- 最长回文子串——manacher
- 最长回文串manacher算法模板
- {模板}Manacher最长回文子串
- 【模板】Manacher 算法 最长回文子串
- Manacher最长回文子串(模板)
- 【Manacher模板】HDU 3068——求最长回文子串
- hdoj3068--最长回文(manacher模板)
- HDU3068 最长回文 manacher模板
- 最长回文串 manacher
- manacher(最长回文串)
- 最长回文串-manacher
- 最长回文串 Manacher
- Manacher算法——求最长回文子串
- 最长回文串长度——manacher算法
- hihoCoder#1032 最长回文子串——Manacher算法
- 最长回文子串——Manacher算法
- [安卓基础]学习第六天
- node.js爬虫 保存数据为json、mysql、mongodb 虎牙、斗鱼、熊猫、全民、龙珠 在线直播间抓取
- 错误 Angular2 Can't bind to 'routerLink' since it isn't a known property of 'a'
- 腾讯安全反病毒实验室解读“Wannacry”勒索软件
- [bzoj] 1011: [HNOI2008]遥远的行星
- 最长回文串——Manacher模板
- 树莓派镜像备份与恢复文章
- 心迹
- vim调试器gdbmgr的安装介绍
- WM_SHOWWINDOW消息(详解)
- 洛谷p1652 圆 C++练手题
- X264阅读
- 第8章 系统的时域分析
- (16)内容浏览器界面