网页学习体会

  • 首页
  • 个人博客
您的位置: 首页  >  IT文章  >  manacher算法

manacher算法

分类: IT文章 • 2024-07-27 15:41:25
#include<bits/stdc++.h>
using namespace std;
const int maxn=11000002;
char a[maxn<<1];
int p[maxn<<1];
int cnt=1,rd,mid,ans;
void read()
{
    char c=getchar();
    a[0]='~';
    a[1]='|';
    while(c>='a'&&c<='z')
    { 
     a[++cnt]=c;
     a[++cnt]='|';
     c=getchar();
    }
    return;
}
int main()
{
  read();
  
  for(int i=1;i<=cnt;i++)
  {
           if(i<rd)
         p[i]=min(p[(mid<<1)-i],rd-i);
         else
         p[i]=1;
         while(a[i-p[i]]==a[i+p[i]])
         p[i]++;
         if(p[i]+i>rd)
         rd=p[i]+i,mid=i;
         ans=max(ans,p[i]);
  }      
 cout<<ans-1;
}

相关推荐

  • 最小生成树算法
  • 有关算法与数据结构的考题解答参考汇总 [C++] [链表] · 第二篇
  • Machine Learning 18 模型优化----算法调参
  • 有关算法与数据结构的考题解答参考汇总 [C++] [链表]
  • 递归算法 递归算法
  • Machine Learning 25 -- Scikit-learn的算法选择路径
  • 暴力匹配,kmp,sunday, shift-and, shift-or, 字符串匹配算法,单模匹配, 多模匹配 字符串匹配算法
  • quick_fond算法, quick_union算法, weighted_quick_union算法, weighted_quick_union_with_path_comperession算法, 森林,并查集,朋友圈问题
  • 14 深度学习-卷积 补交作业: 4.K均值算法  12.朴素贝叶斯-垃圾邮件分类 
  • 15 手写数字识别-小数据集 补交作业: 4.K均值算法  12.朴素贝叶斯-垃圾邮件分类 
  • kmp【模板】
  • AC自动机【模板】
    网站免责声明 网站地图 最新文章 用户隐私 版权申明
本站所有数据收集于网络,如果侵犯到您的权益,请联系网站进行下架处理。   

Copyright © 2018-2021   Powered By 网页学习体会    备案号:   粤ICP备20002247号