zoukankan      html  css  js  c++  java
  • 解题报告:hdu1257 LIS裸题

    2017-09-02 17:28:44

    writer:pprp

    那个裸题练练手,讲解在之前的博客中提到了

    代码如下:

    /*
    @theme:hdu1257
    @writer:pprp
    @begin:17:13
    @end:17:26
    @declare:LIS的裸题,温习一下
    @error:注意题目中说明了是多组数据
    @date:2017/9/2
    */
    
    #include <bits/stdc++.h>
    
    using namespace std;
    const int maxn = 1010;
    int arr[maxn];
    int dp[maxn];
    
    int main()
    {
        //freopen("in.txt","r",stdin);
        int N,Max = 0;
        while(cin >> N)
        {
            Max = 0;
            for(int i = 0 ; i < N; i++)
            {
                dp[i] = 1;
                cin >> arr[i];
                for(int j = 0 ; j < i ; j++)
                {
                    if(arr[j] < arr[i])
                    {
                        dp[i] = max(dp[j]+1,dp[i]);
                    }
                }
                Max = max(Max,dp[i]);
            }
            cout << Max << endl;
        }
    
        return 0;
    }

     

    第二种不用dp的解法:

    代码如下:

    /*
    @theme:hdu1257
    @writer:pprp
    @begin:17:13
    @end:17:36
    @declare:LIS的裸题,温习一下
    @error:
    @date:2017/9/2
    */
    
    #include <bits/stdc++.h>
    
    using namespace std;
    const int maxn = 1010;
    int arr[maxn];
    int tmp[maxn];
    
    int main()
    {
        //freopen("in.txt","r",stdin);
        int N,len = 0;
        while(cin >> N)
        {
            len = 1;
            cin >> arr[0];
            tmp[len] = arr[0];
            for(int i = 1 ; i < N ; i++)
            {
                cin >> arr[i];
                if(arr[i] > tmp[len])
                {
                    len++;
                    tmp[len] = arr[i];
                }
                else
                    *lower_bound(tmp,tmp+len,arr[i]) = arr[i];
            }
            cout << len << endl;
        }
    
        return 0;
    }
  • 相关阅读:
    BZOJ2337 [HNOI2011]XOR和路径
    「学习笔记」3.31代码学习
    uva live 12846 A Daisy Puzzle Game
    Cannot use ImageField because Pillow is not installed
    Android点击Button水波纹效果
    hdu 1241 Oil Deposits
    c++ 字符输入读取
    clutter recoder
    C/C++获取数组长度
    vector array and normal stanard array
  • 原文地址:https://www.cnblogs.com/pprp/p/7467222.html
Copyright © 2011-2022 走看看