hdu 4513 吉哥系列故事——完美队形II
来源:互联网 发布:淘宝网 卖家中心在哪 编辑:程序博客网 时间:2024/06/05 18:47
hdu 4513 吉哥系列故事——完美队形II
题目给出的整数哦, 不过也完全可以通过manacher算法来实现查找最长的回文哦.
这个道题比平常的回文长度的题目加多一个判断而已啦.
#include <stdio.h>#include <string.h>#define MAX 100005#define min(a, b) (a > b ? b : a)int q[MAX], newQ[MAX*2];int p[MAX*2];int main() {int T, n, m;int mx, maxLen, id;int i, z;int a, b;while (scanf("%d", &T) != EOF) {while (T--) {memset(newQ, 0, sizeof(newQ));scanf("%d", &n);for (i = 1; i <= n; i++) {scanf("%d", &q[i]);}m = 2*n;newQ[0] = -1, newQ[1] = 0;for (i = 1; i <= n; i++) {newQ[i*2] = q[i]; newQ[i*2 + 1] = 0;}mx = maxLen = id = 0;for (i = 1; i <= m; i++) {if (mx > i) {p[i] = min(p[id*2 - i], mx - i);} else {p[i] = 1;}while (newQ[i - p[i]] == newQ[i + p[i]]) {if (newQ[i + p[i]] == 0) {p[i]++;} else {a = i - p[i];b = i + p[i];if (newQ[a] <= newQ[a + 2] && newQ[b - 2] >= newQ[b]) {p[i]++;continue ;} break ;}}if (p[i] + i > mx) {mx = p[i] + i;id = i;}if (maxLen < p[i]) {maxLen = p[i];}}printf("%d\n", maxLen - 1);}}return 0;}
- hdu 4513 吉哥系列故事——完美队形II(拓展KMP算法)
- hdu 4513 吉哥系列故事——完美队形II(最长回文串)
- HDU 4513 吉哥系列故事——完美队形II(枚举法求回文串)
- hdu 4513 吉哥系列故事——完美队形II
- 【最长回文】HDU 4513 吉哥系列故事——完美队形II
- hdu 4513 吉哥系列故事——完美队形II
- 吉哥系列故事——完美队形II - HDU 4513 最长回文串
- hdu 4513 吉哥系列故事——完美队形II
- HDU 4513 吉哥系列故事——完美队形II manacher求最长回文
- HDU 4513 吉哥系列故事——完美队形II(Manacher)
- hdu-4513 吉哥系列故事——完美队形II 【Manacher】
- hdu 4513 吉哥系列故事——完美队形II ( manacher+dp )
- HDU 4513 吉哥系列故事——完美队形II(manacher模板)
- hdu 4513 吉哥系列故事——完美队形II(manacher)
- hdu 4513 吉哥系列故事——完美队形II -- (最长回文字串 )
- hdu 4513 吉哥系列故事——完美队形II(Manacher)
- HDU 4513 吉哥系列故事——完美队形II(Manacher)
- hdu 4513 吉哥系列故事——完美队形II Manacher变形
- Hibernate学习03---Hibernate基本配置以及Annotation和Juni
- Eclipse 安装插件
- 农夫彻底明白了的即时通讯2013
- jspSmartUpload上传下载全攻略
- 使用Qt Creator远程部署到ARM linux开发板
- hdu 4513 吉哥系列故事——完美队形II
- 关于Spring的Quartz的xml配置的例子
- S3C2440 RTC
- dbus调试方法
- 保护眼睛的颜色和各种背景颜色设置方法(转)
- 边做边想的沟通软件
- chrome 设置保护眼睛颜色
- Myeclipse导入包出现不了referenced libraries
- 短暂transient和加锁synchronized 使用