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 ...
随机推荐
- 科学计算库Numpy——numpy.ndarray
创建ndarray 元素类型 对于ndarray结构来说,里面所有的元素必须是同一类型的,如果不是的话,会自动的向下进行转换. 元素类型所占字节数 数组维数 元素个数 数组的维度 数组中填充固定值 索 ...
- 如何提高UDP的可靠性
TCP是通过确认机制和超时重传机制实现可靠传输 UDP UDP它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频.视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数 ...
- hdu2604 递推转换矩阵快速幂
刚开始还以为用位运算与或几下几个循环就搞定了,算着算着发现不行........ 还是一种固定的切题角度,我假设有长度为n,总的排列数位f(n),怎么算他呢?从后往前考虑,因为大多数情况,都是用前面的结 ...
- 《变革之心》读后感——《Scrum实战》第2次课作业
刚读了几篇序言.导言和第一个故事,因此读后感可能不全面,先写一下一点儿感受吧. <变革之心>讲的是组织变革,而组织变革是以个人变革为基础的,本书的观点就是在个人变革上,“目睹--感受--变 ...
- 在win2003下apache2.2无法加载php5apache2_4.dll
昨天在一台win2003的服务器上配置apache和PHP, 我在apache的配置文件httpd.conf里添加 LoadModule php5_module "D:/php-5.4.23 ...
- js常见的方法
Ajax请求 jquery ajax函数 我自己封装了一个ajax的函数,代码如下: var Ajax = function(url, type success, error) { $.ajax({ ...
- php_strip_whitespace和trim的搭配使用
在学习kongphp框架时有这么一段代码是为了生成运行时文件的 $runfile = RUNTIME_PATH.'_runtime.php'; if(!is_file($runfile)) { $s ...
- hdu图论题目分类
=============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...
- Hibernate的简单封装Session(方便调用)
因为每次用增删改查时都需要用到hibernate的配置来生成session工厂进而生成session,比较麻烦,所以我们直接封装一个可以调用的类,需要的时候只需要调用即可. 新建一个Hibernate ...
- PHP经典面试题目汇总(上篇)
1.双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解释 双引号的变量名后面必须要有一个非数字.字母.下划线的特殊字符,或者用{}讲变量括起 ...