最長不下降子串行長度

2021-09-01 01:44:38 字數 928 閱讀 9028

對於序列(1, 7, 3, 5, 9, 4, 8),有它的一些不下降子串行

如(1, 7), (3, 4, 8)等等。這些子串行中最長的長度是4,比如子串行(1, 3, 5, 8)。

input

多組cas , 每組cas 兩行:

第一行 輸入乙個數 n (n < 10000), 表示有n個數

第二行 n個數, 分別代表每個數;

output

每個cas 一行 輸出 該書數列的最長的長度 ;

sample input

71 7 3 5 9 4 8

sample output

4#include

using namespace std;

#define max 10001

void vinput(int nn,int na);

int ngetlong(int nn,int na);

int nfind(int nul,int na,int nhigh,int low);

void vout(int nout);

int main()

return 0;

} void vinput(int nn,int na) }

int ngetlong(int nn,int na)

ncount=1;

for(i=nn-1;i>=1;i--)

else }

return ncount;

} int nfind(int nul,int na,int nhigh,int nlow)

if(na>nul[nmid])

else

nret=nfind(nul,na,nhigh,nmid+1);

return nret;

} void vout(int nout)

最長不下降子串行

a1 t0 an a an 1 2 b an c d n 1 求該序列最長不下降子串行長度 n不是很大顯然可以暴力。n很大呢?那就不斷減迴圈節長度直至減到乙個閾值內,再暴力。正確性顯然,只要閾值不要設太小。include include include define fo i,a,b for i a...

最長不下降子串行

最長不下降子串行解法 第一種就是普通的dp方法 for int i 1 i n i dp 0 1 for int i 1 i n i ans max ans,dp i cout 主要記錄一下n logn的寫法 二分 主要思路 用乙個陣列 b 來記錄最長的子串行 一開始讓b 1 a 1 陣列a為輸入的...

最長不下降子串行

例子 openjudge 4977 怪盜基德的滑翔翼 描述怪盜基德是乙個充滿傳奇色彩的怪盜,專門以珠寶為目標的超級盜竊犯。而他最為突出的地方,就是他每次都能逃脫中村警部的重重圍堵,而這也很大程度上是多虧了他隨身攜帶的便於操作的滑翔翼。有一天,怪盜基德像往常一樣偷走了一顆珍貴的鑽石,不料卻被柯南小朋友...