当前位置: 首页 > news >正文

Manacher——最长回文子串问题

P3805 【模板】Manacher

#include<bits/stdc++.h>
using namespace std;
#define IOS ios::sync_with_stdio(0);cout.tie(0);cin.tie(0);
#define endl '\n'
#define int long long 
const int N=11000002;
string s;
char S[3*N];
int n;
int p[3*N];//p[i]:于i的最大回文半径,包含它自己 
void change(){int k=0;S[k++]='$';S[k++]='#';for(int i=0;i<n;i++){S[k++]=s[i];S[k++]='#';}S[k++]='&';n=k;
}
void solve(){cin>>s;n=s.length();change();int r=0,c=0;for(int i=1;i<n;i++){//从1开始 因为:1.避免越界  2.没必要算0 if(i<r){p[i]=min(p[(c<<1)-i],p[c]+c-i);//其中 因为(i+j)/2=c 所以j=2c-1 }else p[i]=1;while(S[i+p[i]]==S[i-p[i]])p[i]++;if(p[i]-1+i>=r){r=p[i]-1+i;c=i;}}int ans=1;for(int i=1;i<n;i++){ans=max(ans,p[i]);//字符串经过处理,变长了一倍,半径刚好就是原长 }cout<<ans-1<<endl;
}
signed main(){IOSsolve();return 0;
}
http://www.jsqmd.com/news/51537/

相关文章:

  • Tarjan——强连通分量
  • 次短路 dijkstra
  • 优化需求评审流程论LLM与人工审查协同模式
  • 2025年11月少儿编程机构怎么选?家长必藏的口碑推荐指南
  • 超越监控:MyEMS 在水泥生产工艺中的深度集成与能效协奏(以印尼 SIG 水泥为例)
  • nvm和npm镜像源配置
  • 银河麒麟下Redis的安装和集群配置
  • 从开发板到工业核心:迅为RK3576的金属外壳,为何是行业应用的“点睛之笔”?
  • Transformer 架构中的 ResNet + LayerNorm 设计解析
  • 【IEEE出版 | EI期刊同步征稿 | 往届已快速成功EI检索】第六届新能源与电气科技国际学术研讨会 (ISNEET 2025)
  • dijkstra——单源最短路径(标准版)
  • 蓝桥杯python基础语法
  • Jenkins view权限
  • Acrobat DC 2025安装教程
  • 实用指南:Windows 环境下为银河麒麟(Linux ARM64)生成 node_modules 依赖
  • 从数据洞察到财务收益:MyEMS 如何通过 AI 优化调度帮助企业将能效提升转化为真金白银
  • 2025年11月英语学习软件推荐:从零基础到流利口语,最好的学英语软件全攻略
  • RAG项目实战:基于图文PDF的多模态问答RAG项目(二)之向量库建设
  • 【SAE出版|EI检索|北京航天航空大学主办】第六届应用力学与机械工程国际学术会议(ICAMME 2025)
  • 高频电流探头频率响应特性及其影响因素深度分析
  • C++ 基础学习总结:从入门到构建核心认知 - 实践
  • 题解:P14598 [COCI 2025/2026 #2] 搭塔 / Tornjevi
  • 2025英语自学软件推荐:AI时代,用这些工具让你的学习效率翻倍
  • 2025 年 11 月工时管理系统/软件实力推荐榜:高效工时管理软件,智能工时统计系统,企业工时管理平台精选与深度解析
  • Google推出适用于Go的Agent开发工具包 - 公众号
  • 2025年质量好的大冰花钛杯厂家推荐及选择指南
  • 2025年评价高的化工厂清淤机器人高评价厂家推荐榜
  • 2025年质量好的全自动opp束带机最新TOP品牌厂家排行
  • 2025年口碑好的斯诺克台球桌厂家最新TOP排行榜
  • 2025年评价高的衣柜灯热门厂家推荐榜单