HDU - 4513 吉哥系列故事——完美队形II(Manacher)
题目链接:点击查看
题目大意:给出一个长度为n的数列,现在要求选出一段连续的数列,满足:
- 该数列为回文串
- 该数列的左半部分非严格递增
输出选取数列的最大长度
题目分析:因为是要选取连续的子串,并且还需要输出最大长度,不难想到要用马拉车变形解决,条件中只是多了一个,需要让左半部分严格递增的要求,那么我们可以在马拉车模板的基础上稍作修改就是本题的答案了
代码:
#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cstring>
#include<algorithm>
#include<stack>
#include<queue>
#include<map>
#include<set>
#include<sstream>
using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=2e5+100;int a[N],p[N],n;int Manacher()
{p[0]=1;int id=0,mmax=0,ans=0;for(int i=1;i<n;i++){if(i<mmax)p[i]=min(mmax-i,p[2*id-i]);elsep[i]=1;while(a[i+p[i]]==a[i-p[i]]&&a[i-p[i]]<=a[i-p[i]+2])p[i]++;if(i+p[i]>mmax){mmax=i+p[i];id=i;}ans=max(ans,p[i]-1);}return ans;
}int main()
{
// freopen("input.txt","r",stdin);
// ios::sync_with_stdio(false);int w;cin>>w;while(w--){int nn;scanf("%d",&nn);n=0;a[n++]=inf;while(nn--){a[n++]=0;scanf("%d",&a[n++]);}a[n++]=0;a[n++]=-inf;printf("%d\n",Manacher());}return 0;
}
HDU - 4513 吉哥系列故事——完美队形II(Manacher)相关推荐
- HDU 4513 吉哥系列故事――完美队形II(Manacher)
题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher V - 吉哥系列故事――完美队形II 题意 吉哥又想出了一个新的完美队形游戏! 假设有n个人 ...
- HDUOJ 4513 吉哥系列故事——完美队形II
HDUOJ 4513 吉哥系列故事--完美队形II Problem Description 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] - ...
- 吉哥系列故事——完美队形II(hdu4513+Manacher)
吉哥系列故事--完美队形II Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) T ...
- HDU 4512 吉哥系列故事――完美队形I(最长公共上升子序列)
吉哥系列故事--完美队形I Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- 吉哥系列故事――完美队形II(HDU-4513)
Problem Description 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形 ...
- hdu 4512 吉哥系列故事——完美队形I(最长公共上升自序加强版)
首先要去学习最长公共上升子序列LCIS.然后是对n*n效率的算法进行优化,这里要注意的是能够求出来的序列中间能够有一个最高的.刚開始将输入的数组进行逆置,写下来发现这可能存在问题. 只是详细是什么也没 ...
- HDU 4502 吉哥系列故事——临时工计划(动态规划)
吉哥系列故事--临时工计划 T ...
- HDU 4507 吉哥系列故事――恨7不成妻 数位DP
吉哥系列故事--恨7不成妻 Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tot ...
- HDU 4535 吉哥系列故事——礼尚往来
http://acm.hdu.edu.cn/showproblem.php?pid=4535 题目大意: 有n个妹纸没人送给吉哥一个礼物,他决定进行合理的分配,即将这些礼物送回去,就不用花钱买新礼物了 ...
最新文章
- Qt中向单元格中写入日期数据
- 聊聊clean code
- return跳转 和 goto跳转
- offsetTop、offsetLeft、offsetWidth、offsetHeight、style中的样式
- linux c 代码分析工具,编程达人 分享几款Linux 下C/C++程序内存泄漏检查工具
- threallocal详解
- [脚本] 一个用于BMP到EPS转换的BAT脚本实现(需要安装bmeps)
- 把PDF/AZW/EPUB转成图片
- smobiler介绍(一)
- 浪曦struts2学习笔记3
- 父母在人生尚有来处,父母去人生只剩归途!@程序员们
- 使用Photoshop出现提示“脚本错误-50出现一般Photoshop错误“
- 屌丝女士的移动生活养成记
- 云主机如何保证信息安全?
- 【Python代码】文件查重(01)-简易版
- 如何提高领英添加好友邀请通过率的细节和方法技巧
- 手机老是显示微信连接不到服务器,手机微信无法连接到服务器提示1237怎么办...
- 基于Cocos的猫狗大战
- 如何在win7系统中屏蔽2345这个流氓
- 一个 Go 语言实现的数据库
热门文章
- MySQL总结连接查询
- MySQL分组查询—添加分组前筛选
- mybatis反射的核心类
- 类文件到虚拟机(类加载机制)
- container资源限制
- 基于注解的方式配置bean
- c# decodeuri,用C#进行URL编码
- python装饰器setter_第7.27节 Python案例详解: @property装饰器定义属性访问方法getter、setter、deleter...
- matlab简单程序实例_【简单实例】如何使用C++加速python程序
- LSTM股票价格预测