Longest Ordered Subsequence

    xiaoxiao2021-12-01  30

    #include<stdio.h> #include<algorithm> #include<math.h> #include<string.h> #define N 1000 using namespace std; int a[N]; int dp[N]; int main() { int n,maxx; scanf("%d",&n); maxx=0; for(int i=0; i<n; i++) { scanf("%d",&a[i]); dp[i]=1; for(int j=0; j<i; j++) { if(a[i]>a[j]&&dp[i]<dp[j]+1)//dp[i]<dp[j]+1?这个可以举一个反例 //n=7时,1 3 1 4 1 5 7这就i是一个范例 dp[i]=dp[j]+1; } if(maxx<dp[i]) maxx=dp[i]; } printf("%d\n",maxx); return 0; }

    这题有个坑,就是只有一组数据,其他就只是一个裸题了。

    Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu

    Submit Status

    Description

    Input

    Output

    Sample Input

    Sample Output

    Hint

    Description

    A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence ( a1, a2, ..., aN) be any sequence ( ai1, ai2, ..., aiK), where 1 <= i1 < i2 < ... < iK <= N. For example, sequence (1, 7, 3, 5, 9, 4, 8) has ordered subsequences, e. g., (1, 7), (3, 4, 8) and many others. All longest ordered subsequences are of length 4, e. g., (1, 3, 5, 8). Your program, when given the numeric sequence, must find the length of its longest ordered subsequence.

    Input

    The first line of input file contains the length of sequence N. The second line contains the elements of sequence - N integers in the range from 0 to 10000 each, separated by spaces. 1 <= N <= 1000

    Output

    Output file must contain a single integer - the length of the longest ordered subsequence of the given sequence.

    Sample Input

    7 1 7 3 5 9 4 8

    Sample Output

    4
    转载请注明原文地址: https://ju.6miu.com/read-679308.html

    最新回复(0)