吉哥又想出了乙個新的完美隊形遊戲!
假設有n個人按順序站在他的面前,他們的身高分別是h[1], h[2] ... h[n],吉哥希望從中挑出一些人,讓這些人形成乙個新的隊形,新的隊形若滿足以下三點要求,則就是新的完美隊形:
1、挑出的人保持原隊形的相對順序不變,且必須都是在原隊形中連續的;
2、左右對稱,假設有m個人形成新的隊形,則第1個人和第m個人身高相同,第2個人和第m-1個人身高相同,依此類推,當然如果m是奇數,中間那個人可以任意;
3、從左到中間那個人,身高需保證不下降,如果用h表示新隊形的高度,則h[1] <= h[2] <= h[3] .... <= h[mid]。
現在吉哥想知道:最多能選出多少人組成新的完美隊形呢?
input 輸入資料第一行包含乙個整數t,表示總共有t組測試資料(t <= 20);
每組資料首先是乙個整數n(1 <= n <= 100000),表示原先隊形的人數,接下來一行輸入n個整數,表示原隊形從左到右站的人的身高(50 <= h <= 250,不排除特別矮小和高大的)。output 請輸出能組成完美隊形的最多人數,每組輸出佔一行。sample input
2sample output351 52 51
451 52 52 51
3題意:4
就是讓你找到乙個最長回文子串,如果這個串是偶數,那麼他的左邊一半就要滿足i如果是奇數,那麼中間那個數大小可以不受限制
題解:就是在馬拉車演算法裡面加乙個判斷,只是我前邊那一種寫的太麻煩了,所以超時了
具體看**:
1view code//#include2//
#include3//
#include4//
#include5//
#include6//
using namespace std;7//
const int maxn=300005;8//
const int inf=0x3f3f3f3f;9//
const int mod=998244353;
10//
int str[maxn],s[maxn];
11//
int len,len[maxn];
12//
void init()
13//
22//
int manacher()
23//
47//}48
//}49//
else
50//
59//}60
//}61//
if(!flag)
62//
sum=max(sum,len[i]);
63//}64
//}65//
return sum-1;
66//}67
//int main()
68//
80//
return 0;
81//
}82 #include83 #include
84 #include85 #include86 #include
87using
namespace
std;
88const
int maxn=300005;89
const
int inf=0x3f3f3f3f;90
const
int mod=998244353;91
intstr[maxn],s[maxn];
92int
len,len[maxn];
93void
init()
94103
void
manacher()
104123 len[i]++;
124}
125}
126int ans = 0
;127
for(int i = 1; i < len; i++) ans =max(ans, len[i]);
128 printf("
%d\n
", ans - 1
);129
}130
//if(len[i]+i>mx)
131//
145//
}146//}
147//
else
148//
157//
}158//}
159//
if(!flag)
160//
sum=max(sum,len[i]);
161//
}162//}
163//
return (sum-1);
164//
}165
intmain()
166178
return0;
179 }
V 吉哥系列故事 完美隊形II
吉哥又想出了乙個新的完美隊形遊戲!假設有n個人按順序站在他的面前,他們的身高分別是h 1 h 2 h n 吉哥希望從中挑出一些人,讓這些人形成乙個新的隊形,新的隊形若滿足以下三點要求,則就是新的完美隊形 1 挑出的人保持原隊形的相對順序不變,且必須都是在原隊形中連續的 2 左右對稱,假設有m個人形成...
吉哥系列故事 完美隊形II (Manacher)
吉哥又想出了乙個新的完美隊形遊戲!假設有n個人按順序站在他的面前,他們的身高分別是h 1 h 2 h n 吉哥希望從中挑出一些人,讓這些人形成乙個新的隊形,新的隊形若滿足以下三點要求,則就是新的完美隊形 1 挑出的人保持原隊形的相對順序不變,且必須都是在原隊形中連續的 2 左右對稱,假設有m個人形成...
HDU 4512 吉哥系列故事 完美隊形I
problem description 吉哥這幾天對隊形比較感興趣。有一天,有n個人按順序站在他的面前,他們的身高分別是h 1 h 2 h n 吉哥希望從中挑出一些人,讓這些人形成乙個新的隊形,新的隊形若滿足以下三點要求,則稱之為完美隊形 1 挑出的人保持他們在原隊形的相對順序不變 2 左右對稱,假...