NYOJ 823 人形序列

2021-06-21 11:01:47 字數 880 閱讀 4606

對於序列中的每乙個元素都要進行預處理。

例如:                          原序列:1 2 3 4 5 4 3 2 1 10

處理以後得到兩個新序列:s:1 2 3 4 5 4 3 2 1 10

t::1 2 3 4 5 4 3 2 1 1

其中s  序列式對於原序列中的每乙個元素對應正向的單增子序列的長度,t 序列對應原序列中的每乙個元素對應逆向的單增子序列的長度。

對於人形序列,我們要求中間的元素 最大,向兩個方向依次減小,並且左右 兩邊的長度相等。

所以我們可以列舉中間的元素,例如,對於 10 而言,從左往右的子串行長度為10 ,從右往做的子串行的長度為1,所以以 10 為中間元素的子串行的長度應該為3,。

對於原序列中第 二次 出現元素 4 的情況,他對應的子串行的長度應該跟 第一次出現的 4 是一樣的。所以我們應該在已經形成的序列中找到第乙個 大於4的元素的位子。為了避免因為陣列初始化照成找不到的問題,要把陣列初始化成 最大的值。 這裡用到乙個函式   fill (dp , dp + n , inf )。

在乙個有序的序列中查詢第乙個大於等於某乙個元素的位子,可以用lower _bound()。

#include#include#include#include#includeusing namespace std;

const int inf = 0x7fffffff;

int a[10010],s[10010],t[10010],dp[10010];

int main()

fill(dp,dp + n, inf);

for(i = n-1; i >= 0; i--)

int maxx = 0;

for(i = 0; i < n; i++)

cout<

微信發布2019春節資料報告 8 23億人收發紅包

年夜飯 看春晚 發紅包 等春節年俗完整記錄了中國老百姓的幸福時光。隨著人們的生活水平提公升和文化環境變遷,春節年俗也在不斷 更新換代 2 月 10 日,微信官方發布 2019 年春節資料報告,從拜年 發紅包 走kaykxzvkq親戚 節假日等春節必備活動出發,對中國人的春節進行了解讀。從除夕到初五,...

NYOJ 第371題 機械人II

nyoj 第371題 機械人ii 時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 自從xiao wu發明了只能向左轉與向右轉的機械人以後,熱血沸騰的他又給機械人加了乙個操作。假設機械人在二維座標系的原點,一開始面向y軸正方向 北n 現在給你乙個僅由 l r m 的串,其中l表...

NYOJ 第371題 機械人II

nyoj 第371題 機械人ii 自從xiao wu發明了只能向左轉與向右轉的機械人以後,熱血沸騰的他又給機械人加了乙個操作。假設機械人在二維座標系的原點,一開始面向y軸正方向 北n 現在給你乙個僅由 l r m 的串,其中l表示向左轉,r表示向右轉,m表示向所面對的方向走乙個單位的距離,試問經過操...