zoukankan      html  css  js  c++  java
  • HDU 4513 吉哥系列故事——完美队形II

    从中间向两边递减的回文,特判一下就好

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 const int qq=100000+10;
     7 int que[qq*2];
     8 int p[qq*2];
     9 int main()
    10 {
    11     int t;scanf("%d",&t);
    12     while(t--){
    13         int n;scanf("%d",&n);
    14         int w=2;
    15         que[0]=20;
    16         que[1]=1000;
    17         for(int i=0;i<n;++i){
    18             scanf("%d",&que[w++]);
    19             que[w++]=1000;
    20         } 
    21         n=n*2+1;
    22         int maxn=0;
    23         int mx=0;
    24         int id;
    25         //for(int i=0;i<=n;++i)
    26         //    printf("%d ",que[i]);
    27         //    printf("
    ");
    28         for(int i=1;i<n;++i){
    29             if(mx>i)
    30                 p[i]=min(mx-i,p[2*id-i]);
    31             else
    32                 p[i]=1;
    33             while(que[i+p[i]]==que[i-p[i]]&&(que[i-p[i]]==1000||que[i-p[i]]<=que[i-p[i]+2]))
    34                 p[i]++;
    35             if(i+p[i]>mx){
    36                 mx=i+p[i];
    37                 id=i;
    38             }
    39             if(p[i]-1>maxn)
    40                 maxn=p[i]-1;
    41             //printf("%d ",p[i]);
    42         }
    43         //printf("
    ");
    44         printf("%d
    ",maxn);
    45     }
    46     return 0;
    47 } 
  • 相关阅读:
    [转载] $CF652B$ 题解
    [转载] $Luogu$ $P4951$ 题解
    luoguP3723 HNOI2017 礼物
    动态dp学习笔记
    noip级别模板小复习
    noip2017简要题解。
    noip考前抱佛脚 数论小总结
    HDU 6071 Lazy Running
    POI2012 ODL-Distance
    [NOI2002]荒岛野人
  • 原文地址:https://www.cnblogs.com/sasuke-/p/5317559.html
Copyright © 2011-2022 走看看