zoukankan      html  css  js  c++  java
  • LIS 51Nod 1134 最长递增子序列

    给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的)
    例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。
     
    Input
    第1行:1个数N,N为序列的长度(2 <= N <= 50000)
    第2 - N + 1行:每行1个数,对应序列的元素(-10^9 <= S[i] <= 10^9)
    Output
    输出最长递增子序列的长度。
    Input示例
    8
    5
    1
    6
    8
    2
    4
    5
    10
    Output示例
    5
     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <cstring>
     4 #include <algorithm>
     5 using namespace std;
     6 #define N  50010
     7 int a[N],c[N];
     8 int n,len=0;
     9 int Find(int x)
    10 {
    11     int l=1,r=len,mid;
    12     while(l<=r){
    13         mid=(l+r)>>1;
    14         if(x>c[mid]) l=mid+1;
    15         else r=mid-1;
    16     }
    17     return l;
    18 }
    19 int  main()
    20 {
    21     scanf("%d",&n);
    22     for(int i=1;i<=n;i++)
    23         scanf("%d",&a[i]);
    24     for(int i=1;i<=n;i++){
    25         int k=Find(a[i]);
    26         c[k]=a[i];
    27         len=max(len,k);
    28     }
    29     printf("%d
    ",len);
    30     return 0;
    31 }

     STL 求最长上升子序列:

     1 #include<iostream>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<cstdio>
     5 using namespace std;
     6 #define inf 0x3f3f3f3f
     7 int dp[100010];
     8 int a[100010];
     9 int main()
    10 {
    11     int n;
    12     while(scanf("%d",&n) != EOF){
    13         memset(dp,inf,sizeof(dp));
    14         for(int i = 0;i < n; i++)
    15             scanf("%d",&a[i]);
    16         for(int i = 0;i < n; i++){
    17             *lower_bound(dp,dp+n,a[i]) = a[i];
    18         }
    19         printf("%d
    ",lower_bound(dp,dp+n,inf)-dp);
    20     }
    21     return 0;
    22 }
  • 相关阅读:
    .某机构java架构师路线
    大数据计算的思想--RDD理解
    大数据组件以及岗位职业规划
    大数据技术路线图 --全图.md
    大数据技术路线图 --全图
    视频会议 lsk_lyy_share
    富文本文档git神奇-simul document
    获取当前app的版本号
    在vue中用axios设置请求拦截和响应拦截
    苹果IOS下text-shadow与box-shadow失效的解决办法
  • 原文地址:https://www.cnblogs.com/wydxry/p/7236034.html
Copyright © 2011-2022 走看看