hdu 3068 最长回文 (manacher模板)
来源:互联网 发布:淘宝东西怎么上架 编辑:程序博客网 时间:2024/06/05 15:03
最长回文
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9421 Accepted Submission(s): 3240
Problem Description
给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.
回文就是正反读都是一样的字符串,如aba, abba等
回文就是正反读都是一样的字符串,如aba, abba等
Input
输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c...y,z组成的字符串S
两组case之间由空行隔开(该空行不用处理)
字符串长度len <= 110000
两组case之间由空行隔开(该空行不用处理)
字符串长度len <= 110000
Output
每一行一个整数x,对应一组case,表示该组case的字符串中所包含的最长回文长度.
Sample Input
aaaaabab
Sample Output
43
Source
2009 Multi-University Training Contest 16 - Host by NIT
Recommend
lcy
题目大意:求最长回文子串
题目分析:manacher模板,不解释
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#define MAX 110007using namespace std;char s[MAX];char temp[MAX<<1];int Len[MAX<<1];int init ( char *st ){ int i , len = strlen(st); temp[0]='@'; for ( i = 1; i <= 2*len; i += 2 ) { temp[i] = '#'; temp[i+1] = st[i/2]; } temp[2*len+1] = '#'; temp[2*len+2] = '$'; temp[2*len+3] = 0; return 2*len+1;}int manacher ( char *st , int len ){ int mx = 0 , ans = 0 , po = 0; for ( int i = 1 ; i <= len; i++ ) { if ( mx > i ) Len[i] = min ( mx - i , Len[2*po-i] ); else Len[i] = 1; while ( st[i-Len[i]] == st[i+Len[i]] ) Len[i]++; if ( Len[i]+i > mx ) mx = Len[i]+i , po = i; ans = max ( ans , Len[i] ); } return ans-1;}int main ( ){ while ( ~scanf ( "%s" , s ) ) { printf ( "%d\n" , manacher ( temp , init ( s ) ) ); }}
0 0
- hdu 3068 最长回文 (manacher模板)
- HDU 3068 最长回文(manacher算法模板)
- HDU 3068 最长回文 【Manacher模板】
- 【HDU 3068】【manacher模板题】最长回文
- hdu 3068 最长回文 manacher
- HDU 3068 最长回文 Manacher
- hdu 3068 最长回文(manacher)
- HDU 3068 最长回文 // Manacher
- HDU 3068 最长回文 Manacher
- HDU 3068 最长回文(Manacher)
- 【HDU 3068】 最长回文|manacher
- HDU - 3068 最长回文(manacher)
- hdu 3068 最长回文(manacher)
- HDU 3068 最长回文 Manacher
- hdu 3068 最长回文 (manacher)
- HDU 3068 最长回文串 Manacher模板题
- Hdu oj 3068 最长回文(manacher算法模板题)
- HDU 3068 最长回文 (Manacher 模板题)
- xcode6开发ios8app应用程序,如何进行APNs推送消息(获取device token)和集成激光推送教程
- json_decode解码失败.
- 检测arp攻击
- Android Volley完全解析(三),定制自己的Request
- (1.2.1.1)单链表的逆转倒置、验环、倒数第M个节点和相交
- hdu 3068 最长回文 (manacher模板)
- 项目中用到的下载文件功能代码
- PE文件详解:资源结构体
- 后缀数组_模板
- ab命令
- Cron 表达式
- dd备份命令
- iOS 压缩和解压
- ulimit命令