HDU - 3294 Girls' research(manacher)
来源:互联网 发布:网络负面处理 编辑:程序博客网 时间:2024/04/30 19:37
题目大意:要求你求出一个字符串的最长回文子串,并将最长回文子串按要求经过转码输出
解题思路:manacher的裸题
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N = 400010;char str[N], tmp[10];int p[N];int len;void init() { len = strlen(str); for (int i = len; i >= 0; i--) { str[i * 2 + 2] = str[i]; str[i * 2 + 1] = '#'; } str[0] = '$';}void solve() { int mx = 0, id, ansid, mxp = 0; for (int i = 2; i < len * 2 + 1; i++) { if (mx > i) p[i] = min(p[id * 2 - i], mx - i); else p[i] = 1; while (str[i - p[i]] == str[i + p[i]]) p[i]++; if (p[i] > mxp) { mxp = p[i]; ansid = i; } if (p[i] + i >= mx) { mx = p[i] + i; id = i; } } if (p[ansid] - 1 < 2) printf("No solution!\n"); else { printf("%d %d\n", (ansid - p[ansid] + 2) / 2 - 1, (ansid + p[ansid] - 2) / 2 - 1); int k = tmp[0] - 'a'; for (int i = ansid - p[ansid] + 2; i <= ansid + p[ansid] - 2; i += 2) printf("%c", (str[i] - 'a' - k + 26) % 26 + 'a'); printf("\n"); }}int main() { while (scanf("%s%s", tmp, str) != EOF) { init(); solve(); } return 0;}
0 0
- [manacher] hdu 3294 Girls' research
- hdu 3294 Girls' research(manacher)
- HDU - 3294 Girls' research(manacher)
- hdu 3294 Girls' research【manacher】
- HDU 3294 Girls’ research Manacher
- HDU 3294 Girls' research 字符串-manacher算法
- HDU 3294 Girls' research (manacher)
- hdu 3294 Girls' research Manacher回文串
- HDU.3294 Girls' research Manacher Algorithm
- HDU 3294 Girls' research (Manacher算法 + 记录区间)
- HDU 3294 Girls' research (Manacher算法 + 记录区间)
- hdu 3294 Girls' research ( manacher+特殊输出格式 )
- 【回文串】HDU 3294 Girls' research manacher算法
- HDU 3294 Girls' research (manacher模板题)
- hdu 3294 Girls' research
- hdu 3294 Girls' research
- HDU 3294 Girls' research
- hdu 3294 Girls' research
- 三目运算符:
- Maven+Struts2+MyBatis+Spring搭建教程
- 配置java环境变量
- IOS 开发,定位相关
- 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
- HDU - 3294 Girls' research(manacher)
- JS校验
- 单组数据的描述性分析以及正态性判别r语言代码
- bzoj3538【Usaco2014 Open】Dueling GPS
- Nginx安装部署
- POJ 2955 Brackets(区间DP)
- 啊
- 欢迎使用CSDN-markdown编辑器
- 非常实用的PHP常用函数汇总