题目链接:点击查看

题目大意:给出一个长度为n的数列,现在要求选出一段连续的数列,满足:

  1. 该数列为回文串
  2. 该数列的左半部分非严格递增

输出选取数列的最大长度

题目分析:因为是要选取连续的子串,并且还需要输出最大长度,不难想到要用马拉车变形解决,条件中只是多了一个,需要让左半部分严格递增的要求,那么我们可以在马拉车模板的基础上稍作修改就是本题的答案了

代码:

#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)相关推荐

  1. HDU 4513 吉哥系列故事――完美队形II(Manacher)

    题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher V - 吉哥系列故事――完美队形II 题意 吉哥又想出了一个新的完美队形游戏! 假设有n个人 ...

  2. HDUOJ 4513 吉哥系列故事——完美队形II

    HDUOJ 4513 吉哥系列故事--完美队形II Problem Description 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] - ...

  3. 吉哥系列故事——完美队形II(hdu4513+Manacher)

    吉哥系列故事--完美队形II Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) T ...

  4. HDU 4512 吉哥系列故事――完美队形I(最长公共上升子序列)

    吉哥系列故事--完美队形I Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) To ...

  5. 吉哥系列故事――完美队形II(HDU-4513)

    Problem Description 吉哥又想出了一个新的完美队形游戏!  假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形 ...

  6. hdu 4512 吉哥系列故事——完美队形I(最长公共上升自序加强版)

    首先要去学习最长公共上升子序列LCIS.然后是对n*n效率的算法进行优化,这里要注意的是能够求出来的序列中间能够有一个最高的.刚開始将输入的数组进行逆置,写下来发现这可能存在问题. 只是详细是什么也没 ...

  7. HDU 4502 吉哥系列故事——临时工计划(动态规划)

    吉哥系列故事--临时工计划                                                                                      T ...

  8. HDU 4507 吉哥系列故事――恨7不成妻 数位DP

    吉哥系列故事--恨7不成妻 Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  9. HDU 4535 吉哥系列故事——礼尚往来

    http://acm.hdu.edu.cn/showproblem.php?pid=4535 题目大意: 有n个妹纸没人送给吉哥一个礼物,他决定进行合理的分配,即将这些礼物送回去,就不用花钱买新礼物了 ...

最新文章

  1. Qt中向单元格中写入日期数据
  2. 聊聊clean code
  3. return跳转 和 goto跳转
  4. offsetTop、offsetLeft、offsetWidth、offsetHeight、style中的样式
  5. linux c 代码分析工具,编程达人 分享几款Linux 下C/C++程序内存泄漏检查工具
  6. threallocal详解
  7. [脚本] 一个用于BMP到EPS转换的BAT脚本实现(需要安装bmeps)
  8. 把PDF/AZW/EPUB转成图片
  9. smobiler介绍(一)
  10. 浪曦struts2学习笔记3
  11. 父母在人生尚有来处,父母去人生只剩归途!@程序员们
  12. 使用Photoshop出现提示“脚本错误-50出现一般Photoshop错误“
  13. 屌丝女士的移动生活养成记
  14. 云主机如何保证信息安全?
  15. 【Python代码】文件查重(01)-简易版
  16. 如何提高领英添加好友邀请通过率的细节和方法技巧
  17. 手机老是显示微信连接不到服务器,手机微信无法连接到服务器提示1237怎么办...
  18. 基于Cocos的猫狗大战
  19. 如何在win7系统中屏蔽2345这个流氓
  20. 一个 Go 语言实现的数据库

热门文章

  1. MySQL总结连接查询
  2. MySQL分组查询—添加分组前筛选
  3. mybatis反射的核心类
  4. 类文件到虚拟机(类加载机制)
  5. container资源限制
  6. 基于注解的方式配置bean
  7. c# decodeuri,用C#进行URL编码
  8. python装饰器setter_第7.27节 Python案例详解: @property装饰器定义属性访问方法getter、setter、deleter...
  9. matlab简单程序实例_【简单实例】如何使用C++加速python程序
  10. LSTM股票价格预测