1040. Longest Symmetric String (25)Manacher
来源:互联网 发布:java 函数重载形式 编辑:程序博客网 时间:2024/04/30 16:47
1040. Longest Symmetric String (25)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue
Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given "Is PAT&TAP symmetric?", the longest symmetric sub-string is "s PAT&TAP s", hence you must output 11.
Input Specification:
Each input file contains one test case which gives a non-empty string of length no more than 1000.
Output Specification:
For each test case, simply print the maximum length in a line.
Sample Input:Is PAT&TAP symmetric?Sample Output:
11
#include <cstdio>#include <cstring>const int N = 2020;int min(const int& a, const int& b) { return a < b ? a : b;}int main() { char ch; int len = 0; int ary[N], p[N] = {0}; while ((ch = getchar()) != EOF) { ary[len] = -1; ary[len + 1] = ch; len += 2; } ary[len++] = -2; int max_len = 0; int id = 0; for (int i = 1; i < len; ++i) { if (id + p[id] > i) p[i] = min(id + p[id] - i, p[id * 2 - i]); else p[i] = 1; while (i - p[i] >= 0 && ary[i - p[i]] == ary[i + p[i]]) ++p[i]; if (max_len < p[i]) max_len = p[i]; if (p[id] < p[i]) id = i; } printf("%d\n", max_len - 1); return 0;}
0 0
- 1040. Longest Symmetric String (25)Manacher
- Longest Symmetric String (25) 与Manacher算法
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- 1040. Longest Symmetric String (25)
- HttpClient
- Android平台的微信分享
- Mysql命令行添加用户
- Linux下使用gdb进行单步调试(一)
- 335x uboot 硬件喂狗
- 1040. Longest Symmetric String (25)Manacher
- 素数筛选法之埃拉托色尼筛
- Unicode编码完全探究
- ARM_s5pv210_arm_7(上)
- WINHTTP的API接口说明。
- JMeter学习——JMeter测试Java
- Java 语言中 Enum 类型的使用介绍
- Form表单数据传输方式之Get与Post区别
- spring学习网站