设为首页 加入收藏

TOP

POJ 3974 最长回文字串(二)
2013-11-20 14:23:54 来源: 作者: 【 】 浏览:215
Tags:POJ  3974  最长 文字

 

  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;

  }

  int main() {

  int ca = 0 ;

  while(scanf("%s",s) != EOF) {

  if(strcmp(s , "END") == 0)break ;

  printf("Case %d: " , ++ ca) ;

  printf("%d\n",manacher()) ;

  }

  return 0 ;

  }

      

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇神奇的锯树斜率优化实例 下一篇三维树状数组优化不动了

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 编程和 c 语言 (2025-12-25 08:19:48)
·. net内存管理宝典这 (2025-12-25 08:19:46)
·C++为什么不加上内存 (2025-12-25 08:19:44)
·MySQL 安装及连接-腾 (2025-12-25 06:20:28)
·MySQL的下载、安装、 (2025-12-25 06:20:26)