SDUT_1299 最长上升子序列
生活随笔
收集整理的這篇文章主要介紹了
SDUT_1299 最长上升子序列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最長上升子序列
Time Limit:?3000MS?Memory Limit:?65536KB Submit?Statistic?DiscussProblem Description
一個數的序列bi,當b1?< b2?< ... < bS的時候,我們稱這個序列是上升的。對于給定的一個序列(a1, a2, ..., aN),我們可以得到一些上升的子序列(ai1, ai2, ..., aiK),這里1<= i1?< i2?< ... < iK?<= N。比如,對于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。這些子序列中最長的長度是4,比如子序列(1, 3, 5, 8)。你的任務,就是對于給定的序列,求出最長上升子序列的長度。
Input
輸入的第一行是序列的長度N (1 <= N <= 1000)。第二行給出序列中的N個整數,這些整數的取值范圍都在0到10000。Output
最長上升子序列的長度。Example Input
7 1 7 3 5 9 4 8 Example Output 4 #include <iostream> #include <algorithm> using namespace std; int main() {int array[1010],Max[1010];int n;cin>>n;for(int i=0;i<n;++i){cin>>array[i];Max[i]=1;}for(int i=1;i<n;++i)for(int j=0;j<i;++j)if(array[i]>array[j])Max[i]=max(Max[i],Max[j]+1);cout<<*max_element(Max,Max+n);return 0; }總結
以上是生活随笔為你收集整理的SDUT_1299 最长上升子序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu_2188
- 下一篇: SDUT_2080最长公共子序列问题