最长回文子串
来源:互联网 发布:淘宝代金券怎么使用 编辑:程序博客网 时间:2024/06/05 09:11
好久没有写博客了 对于最长 回文子串第一次做 写个 博客纪念一下
要求最长回文子串的话 有三种方法
1. 暴力枚举所有的子串然后判断是否回文。
2. 就是把每个字符看成中间的那个字符然后枚举长度
3. 就是DP了 DP[i]=min(DP[id*2-i],mx] id是最长子串的中点 mx是最长点
这是代码自己琢磨吧
#include "cstdio"#include "iostream"using namespace std;int P[2000050];int main(){ int T; scanf("%d",&T); while(T--){ string s,sr=""; cin>>s; sr+="$#"; int id=0,mx=0; int maxx=0; for(int i=0;i<s.size();i++) sr+=s.at(i),sr+='#'; for(int i=0;i<sr.size();i++){ if(mx>i) P[i]=min(P[2*id-i],mx-i); else P[i]=1; while(sr[i+P[i]]==sr[i-P[i]]) P[i]++; if(P[i]+i>mx) mx=P[i]+i,id=i; maxx=max(P[i],maxx); } printf("%d\n",maxx-1); }}
1 0
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- Tree257BinaryTreePaths
- Android Studio实战 - 安装
- 1001. A+B Format
- HW2171是一款低成本高性能高集成度2.4GHz无线SOC芯片
- HDU 2243 考研路茫茫——单词情结 AC自动机+DP+快速幂
- 最长回文子串
- Thread Dump与Analyzer
- HDU-3172-Virtual Friends
- Chrome,FireFox开发者工具无法找到js?
- postman post/get 方法
- C#中datagridview使用tooltip控件显示单元格内容与datagridview自带的tooltip显示单元格内容的方法
- CodeForces 606B Testing Robots【读题题QAQ】
- 安卓低功耗蓝牙开发
- Easy 191题 Number of 1 Bits