51nod 1088 最长回文子串 【中心拓展法/输出长度和路径】
输入Str(Str的长度 <= 1000)
输出最长回文子串的长度L。
daabaac
5 [代码]:
#include<bits/stdc++.h> using namespace std;
#define N 550
int mp[N][N];
int main()
{
string s;
cin>>s;
int n=s.size();
int res=; for(int i=; i<n; i++){ for(int j=;(i-j)>=&&(i+j)<n; j++){
if(s[i-j]!=s[i+j]) break;
res=max(res,*j+);
} for(int j=;(i-j)>=&&(i+j+)<n; j++){
if(s[i-j]!=s[i+j+]) break;
res=max(res,*j+);
}
}
printf("%d\n",res);
}
输出长度
#include<bits/stdc++.h>
#include<iostream>
using namespace std;
#define N 5050
int main()
{
string s;
int pos[];
cin>>s;
int res = , st=, ed=;
int n = s.size();
for(int i=;i<n;++i)
pos[i]=i;
for(int i=; i<n; i++) {
for(int j= ;(i-j)>=&&(i+j)<n ;j++) {
if(s[i-j]!=s[i+j]) break;
if(*j+>res){
res=*j+;
st=pos[i-j];
ed=pos[i+j];
}
} for(int j= ;(i-j)>=&&(i+j+)<n ;j++) {
if(s[i-j]!=s[i+j+]) break;
if(*j+>res){
res=*j+;
st=pos[i-j];
ed=pos[i+j+];
}
}
}
for(int i=st; i<=ed; i++)
cout<<s[i];
cout<<endl;
return ;
}
输出子串
51nod 1088 最长回文子串 【中心拓展法/输出长度和路径】的更多相关文章
- 51nod 1088 最长回文子串
1088 最长回文子串 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串. 输入一 ...
- (最长回文子串 线性DP) 51nod 1088 最长回文子串
输入一个字符串Str,输出Str里最长回文子串的长度. 回文串:指aba.abba.cccbccc.aaaa这种左右对称的字符串. 串的子串:一个串的子串指此(字符)串中连续的一部分字符构成的子(字符 ...
- 51NOD 1088 最长回文子串&1089 最长回文子串 V2(Manacher算法)
回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串. 输入一个字符串Str,输出Str里最长回文子串的长度. Input 输入Str(Str的长度 <= 1000(第二题要 ...
- 51Nod 1089 最长回文子串 V2 —— Manacher算法
题目链接:https://vjudge.net/problem/51Nod-1089 1089 最长回文子串 V2(Manacher算法) 基准时间限制:1 秒 空间限制:131072 KB 分值: ...
- 【LeetCode】最长回文子串-中心扩展法
[问题]给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 : 输入: "babad" 输出: "bab" 注意: ...
- 51nod 1089 最长回文子串 V2(Manacher算法)
回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串. 输入一个字符串Str,输出Str里最长回文子串的长度. 收起 输入 输入Str(Str的长度 <= 100000) ...
- 51nod(1089 最长回文子串 V2)(hash 加二分)
1089 最长回文子串 V2(Manacher算法) 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串. 输入一个字符串Str,输出Str里最长回文子串的长度. 输入 ...
- 51nod 1089 最长回文子串 V2(Manacher算法)
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3. Input 第1行:一个数T,表示后面用作输入 ...
- 51nod 1089最长回文子串V2 (manacher)
经典题 manacher是一种很神奇的算法, 算是动态规划的一种,不过利用的信息非常有效 #include <iostream> #include <cstdio> #incl ...
随机推荐
- python入门:求1-2+3-4+5...99的所有数的和(自写)
#!/usr/bin/env pyhton # -*- coding:utf-8 -*- #求1-2+3-4+5...99的所有数的和(自写) """ 给x赋值为0,给y ...
- 分享一个编程学习网站:https://github.com/justjavac/free-programming-books-zh_CN
分享一个编程学习网站:https://github.com/justjavac/free-programming-books-zh_CN
- IAR单片机启动文件与程序入口
最近在做TI单片机TM4C123GE6PZ的BootLoader,需要对启动文件做出修改,折腾了半宿,弄得事实而非. IAR默认提供了单片机的启动文件,cstart.s或者其他cstartxxx.s, ...
- Nastya Studies Informatics CodeForces - 992B (大整数)
B. Nastya Studies Informatics time limit per test 1 second memory limit per test 256 megabytes input ...
- poj-3278 catch that cow(搜索题)
题目描述: Farmer John has been informed of the location of a fugitive cow and wants to catch her immedia ...
- svn 命令管理
有时候测试环境会让更新到指定版本,用以验证问题或者其他原因 具体方法有两种: 方法1: svn merge回滚 1) 先 svn up,保证更新到最新的版本,如2106: 2) 然后用 svn log ...
- [转载]关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多 的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一 ...
- LayoutInflater的用法
Instantiates a layout XML file into its corresponding View objects. It is never used directly. Inste ...
- STP
生成树协议 spanning-tree protocol 网络中额外添加的链路连接着路由器和交换机 会引起流量的环路 当一个交换机的连接丢失时 另一条链路能快速地取代失败的链路 并且不 ...
- 01 Java 代码是怎么运行的
Java代码运行的方式 1:在开发工具中运行 2:双击 jar 文件运行 3:在命令行中运行 4:在网页中运行 上述运行方式都离不开 JRE,也就是 Java 运行时环境.实际上 JRE 仅包含运行 ...