Luogu 3805(manacher)
来源:互联网 发布:windows rt连接口 编辑:程序博客网 时间:2024/05/24 04:45
传送门
模板题。
注意:id要初始化为0,否则本地都会RE(局部变量的初值不会自动为0)。
P.S.本文可能是本菜鸡AFO之前最后一篇(或者几篇)博文。7月底开始写博客时第二篇便是manacher,现在以此收尾,不得不感叹时间飞逝~~最后几天好好努力吧!
#include<cstdio>#include<cstring>#include<iostream>#include<ostream>#include<fstream>#include<algorithm>using namespace std;const int N=11000000+4;char a[N],b[N<<1];int n,p[N<<1],ans=0;inline void manacher() {b[0]='$';for (register int i=0;i<n;++i)b[i<<1|1]='#',b[(i<<1)+2]=a[i];int nn=n<<1|1,mx=0,id=0;b[nn]='#';for (register int i=1;i<=nn;++i) {p[i]=mx>i?min(p[(id<<1)-i],mx-i):1;while (b[i+p[i]]==b[i-p[i]]) ++p[i];if (mx<i+p[i]) id=i,mx=i+p[i];ans=max(ans,p[i]-1);}}int main() {fread(a,1,11000000,stdin);n=strlen(a);manacher();cout<<ans<<endl;return 0;}
阅读全文
0 0
- Luogu 3805(manacher)
- Luogu-3805 (Manacher 最长回文子串)(模板)
- manacher算法 洛谷3805 manacher
- Luogu 1280(dp)
- Luogu 1282(dp)
- Luogu 1387(dp)
- Luogu 2661(tarjan)
- Luogu 2330(kruskal)
- Luogu 1156(dp)
- Luogu 1186(SPFA)
- Luogu 1141(dp)
- Luogu 3378(堆)
- Luogu 3370(hash)
- Luogu 3384(树链剖分)
- Luogu 3379(LCA)
- Luogu 3375(KMP)
- Luogu 3382(三分)
- Luogu 1880(区间dp)
- 《From Zero to Hero – 从1000个代码案例中学习人工智能和大数据》课程
- 机器学习学习笔记--反向传播神经网络
- 控制语句
- 习题6.3
- [python] LDA处理文档主题分布及分词、词频、tfidf计算
- Luogu 3805(manacher)
- 机器人sci
- java学习之路
- MYSQL 中 LIMIT 用法
- python函数——编码问题——str与Unicode的区别
- 通过考试
- 最近公共祖先(LCA) RMQ解决
- POJ 2449 Remmarguts' Date(k短路)
- HTML浏览器的关闭或打开