最長不降子串行(二)

2021-08-26 05:40:28 字數 873 閱讀 4381

受到(一)中啟發,現補充位元組跳動19年第二次筆試第四題程式。

題目如下:

4.一天,小凱同學震驚的發現,自己屋內的pm2.5指標是有規律的!小凱取樣了pm2.5的數值,發現pm2.5數值以小時為週期迴圈,即任意時刻的pm2.5總是和一小時前相等!他的室友小文同學提出了這樣乙個問題,在t小時內的所有取樣點中,選取若干取樣點的數值,能否找到乙個pm2.5不曾下降過的序列?這個序列最長是多少?

輸入描述:

第一行有兩個整數n t 表示每小時的取樣點個數,和詢問多少個小時的結果

第二行有n個整數,以空格分隔,表示乙個小時內,每個取樣點觀測到的pm2.5的數值

示例:輸入

4   3

10   3   7  5

輸出說明

3小時內所有取樣點為

10  3  7  5  10  3  7  5  10  3  7  5

選取第2 3 5 9個取樣點,可以得到乙個不曾下降過的序列

3  7  10  10

使用其他的方法也可以得到長為4的滿足條件的序列,但無法得到長度超過4的結果

int main()

} }cout << *max_element(tmp.begin(), tmp.end())+b-1;

return 0;

}

2、第二部分-參考(一)種思路,採用陣列的形式編寫

int main

d[1]=a[1]; //初始化

int len=1;

for (int i=2;i<=n;i++) }

printf("%d\n",len+t-1);

return 0;

}

最長不降子串行

原文 這題目是經典的dp題目,也可叫作lis longest increasing subsequence 最長上公升子串行或者 最長不下降子串行。很基礎的題目,有兩種演算法,複雜度分別為o n logn 和o n 2 一 問題描述 設有由n個不相同的整數組成的數列,記為 a 1 a 2 a n 且...

最長不降子串行問題

一 問題 輸入 設有由n個不相同的整數組成的數列,記為 a 1 a 2 a n 且a i a j i j 若存在i1長度為e的不下降序列。輸出 程式要求,當原數列給出之後,求出最長的不下降序列。例子 數列3,18,7,14,10,12,23,41,16,24。3,18,23,24就是乙個長度為4的不...

最長不降子串行 dp

問題描述 給定乙個字串,求出其不降子串行的最大長度。分析 從後往前逆推 06對於n個數,我們可以分為n 1個階段。07我們由後向前搜尋 逆推法 我們可以這樣思考 081 對a n 來說,由於它是最後乙個數,所以當從a n 開始查詢時,只存在長度為1的不下降序列 092 若從a n 1 開始查詢,則存...