題目描述:注意這裡是子串行,而不是子串,子串行可以是不連續的。
題目分析:其實這個題目就是求最長遞增子串行(lis)長度的變形。
求最長遞增子串行的長度思想:設dp[i]為以第num[i]這個字元結尾的子串行的最長長度。我們採取這樣的策略:依次比較num[i]前面的字元num[j],j#include
//最長遞增子串行長度
//f(i)代表以a[i]結尾的遞增序列的最長長度
//f(0)=0,f(1)=1,f(i)=max(1,f(j)+1)
intmax
(int x,
int y)
intmain()
for(
int i=
1;i}int max=-1
;for
(int i=
0;iprintf
("%d"
,max)
;return0;
}
#include
#define inf 0x7fffffff
//遞增子串行最大和
intmax
(int x,
int y)
intmain()
for(
int i=
2;i}int max=
-inf;
for(
int i=
0;iprintf
("%d\n"
,max);}
return0;
}
清華大學考研複試機試 abc
設a b c均是0到9之間的數字,abc bcc是兩個三位數,且有 abc bcc 532。求滿足條件的所有a b c的值。題目沒有任何輸入。請輸出所有滿足題目條件的a b c的值。a b c之間用空格隔開。每個輸出佔一行。水題,直接遍歷暴力求解即可,三層for迴圈。不過也有一些優化的點,可能優化效...
清華大學考研複試機試 root N,k
n 2000000000 每組測試資料報括一行,x 0輸入可能有多組資料,對於每一組資料,root x y,k 的值 4 4 104這道題乍一看好像沒有什麼思路,那就先暴力求解試試。不過不管你用pow函式,還是用快速冪運算,都過不了,因為結果已經爆long long int。有關快速冪運算這裡簡單提...
清華大學考研複試機試 進製轉換
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 每行輸出對應的二進位制數。此題為大數轉換問題,通過模擬手工計算過程來實現。清華大學的考研複試機試經常為考察大整數問題...