最长回文串模板
来源:互联网 发布:剑三菊花dbm数据 编辑:程序博客网 时间:2024/06/08 15:51
参考博客-->manacher算法详解
题目链接-->hdu 3068
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;#define N 110005char s[N],tem[N<<1];int Len[N<<1];int manacher(int len){ int i,mx=0,id=0,ans=0; for(i=1; i<=len; i++)//从第一个#到最后一个#的区间 { if(mx>i) Len[i]=min(Len[2*id-i],mx-i); else Len[i]=1; while(tem[i-Len[i]]==tem[i+Len[i]]) Len[i]++; if(i+Len[i]>mx) { mx=i+Len[i]; id=i; } ans=max(ans,Len[i]); } return ans-1;}int main(){ int len,i; while(~scanf("%s",s)) { len=strlen(s); for(i=1; i<=len; i++) { tem[i*2]=s[i-1]; tem[i*2+1]='#'; } tem[0]='@',tem[1]='#'; len=(len<<1)+1; tem[len+1]='\0';//非常重要 printf("%d\n",manacher(len)); } return 0;}
阅读全文
0 0
- 最长回文串模板
- 最长回文子串模板
- Manacher 模板 最长回文串
- 最长回文串manacher算法模板
- 最长回文串(manachar算法)模板
- {模板}Manacher最长回文子串
- 最长回文串——Manacher模板
- 【模板】Manacher 算法 最长回文子串
- Manacher最长回文子串(模板)
- 【HDU3068】【模板】最长回文
- hdu 3068 最长回文 【Manacher求最长回文子串,模板题】
- hdoj3068--最长回文(manacher模板)
- HDU3068 最长回文 manacher模板
- 最长回文子序列模板
- [USACO 1.3.3]Calf Flac 最长回文子串模板
- HDU 3068 最长回文串 Manacher模板题
- 求一个字符串的最长连续回文串(模板)
- hihocoder 1032 最长回文子串 (Manacher算法 详解+模板)
- python windows gbk编码转换
- Java数组递归解九连环并且打印中间步骤
- kafka常见问题汇总
- I2C总线之(一)---概述
- Understanding Git Conceptually新手理解Git (Note)
- 最长回文串模板
- 第一章 1.1 基础编程模型(我们把描述和实现算法所用到的语言特性、软件库和操作系统特性总称为基础编程模型)
- 简明易懂的动态链接库(.dll)和静态链接库(.lib)的优缺点分析
- Spring 实战学习笔记
- 一份完整的拍照后加水印代码
- Gym
- Leetcode566. Reshape the Matrix
- oracle组合索引
- Oracle与Mysql区别简述