日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2024/3/13 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDUOJ 4513 吉哥系列故事——完美队形II 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HDUOJ 4513 吉哥系列故事——完美隊(duì)形II

Problem Description

吉哥又想出了一個(gè)新的完美隊(duì)形游戲!
  假設(shè)有n個(gè)人按順序站在他的面前,他們的身高分別是h[1], h[2] … h[n],吉哥希望從中挑出一些人,讓這些人形成一個(gè)新的隊(duì)形,新的隊(duì)形若滿足以下三點(diǎn)要求,則就是新的完美隊(duì)形:

1、挑出的人保持原隊(duì)形的相對順序不變,且必須都是在原隊(duì)形中連續(xù)的;
  2、左右對稱,假設(shè)有m個(gè)人形成新的隊(duì)形,則第1個(gè)人和第m個(gè)人身高相同,第2個(gè)人和第m-1個(gè)人身高相同,依此類推,當(dāng)然如果m是奇數(shù),中間那個(gè)人可以任意;
  3、從左到中間那個(gè)人,身高需保證不下降,如果用H表示新隊(duì)形的高度,則H[1] <= H[2] <= H[3] … <= H[mid]。

現(xiàn)在吉哥想知道:最多能選出多少人組成新的完美隊(duì)形呢?

Input

輸入數(shù)據(jù)第一行包含一個(gè)整數(shù)T,表示總共有T組測試數(shù)據(jù)(T <= 20);
  每組數(shù)據(jù)首先是一個(gè)整數(shù)n(1 <= n <= 100000),表示原先隊(duì)形的人數(shù),接下來一行輸入n個(gè)整數(shù),表示原隊(duì)形從左到右站的人的身高(50 <= h <= 250,不排除特別矮小和高大的)。

Output

請輸出能組成完美隊(duì)形的最多人數(shù),每組輸出占一行。

Sample Input

2 3 51 52 51 4 51 52 52 51

Sample Output

3 4

Manacher模改題,因?yàn)槊總€(gè)數(shù)字中間插入了一個(gè)0,所以只需在判斷回文數(shù)時(shí)加一個(gè) s [ i ? l [ i ] ] < = s [ i ? l [ i ] + 2 ] s[i-l[i]]<=s[i-l[i]+2] s[i?l[i]]<=s[i?l[i]+2] 的條件即可,AC代碼如下:

#include<bits/stdc++.h> using namespace std; const int N=2e5+5; int p[N],s[N<<1],l[N<<1];int change(int *p,int n){int i;s[0]=-1;//防越界for(int i=1;i<=2*n;i+=2){s[i]=0;s[i+1]=p[i>>1];}s[2*n+1]=0;s[2*n+2]=-2;//防越界return 2*n+1; }int manacher(int *s,int len){int mx=0,ans=0,pos=0;for(int i=1;i<=len;i++){if(mx>i) l[i]=min(mx-i,l[2*pos-i]);else l[i]=1;while(s[i-l[i]]==s[i+l[i]] && s[i-l[i]]<=s[i-l[i]+2]) l[i]++;if(l[i]+i>mx){mx=l[i]+i;pos=i;}ans=max(ans,l[i]);}return ans-1; }int main(){int T,n;scanf("%d",&T);while(T--){scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d",&p[i]);int len=change(p,n);printf("%d\n",manacher(s,len));} }

總結(jié)

以上是生活随笔為你收集整理的HDUOJ 4513 吉哥系列故事——完美队形II的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。