zoukankan      html  css  js  c++  java
  • LIS

     1 ans = dp[1] = 1;
     2     for (int i = 1; i <= n; i++) {
     3         for (int j = 1; j < i; j++) {
     4             if (a[j] < a[i]) {
     5                 f[i] = max(f[i], f[j] + 1);
     6                 ans = max(ans, f[i]);
     7             }
     8         }
     9     }
    10     for (int i = 1; i <= n; i++) {
    11         if (b[i] > d[l]) {
    12             d[++l] = b[i];
    13         } else {
    14             int k = lower_bound(d + 1, d + l + 1, b[i]) - d;
    15             d[k] = b[i];
    16         }
    17     }
    18     ans=l; 
    int solve(){
        int len=0;
        for (int i=1;i<=n;i++){
            if (vis[a[i]]==-1) continue;
            int it=lower_bound(d,d+len,a[i])-d;
            if (it==len){
                d[len++]=a[i];
                path[i]=len;
            }else{
                d[it]=a[i];
                path[i]=it+1;
            }
        }
        memset(used,0,sizeof(used));
        int tmp=len;
        for (int i=n;i>=1;i--){
            if (vis[a[i]]==-1){
                continue;
            }
            if (path[i]==tmp){
                used[a[i]]=1;
                tmp--;
            }
        }
        return len;
    }
    

      

  • 相关阅读:
    使用GitHub+hexo搭建个人独立博客
    HDU 3038
    POJ 1417
    HDU 1213
    ZOJ 3781
    ZOJ 3780
    ZOJ 3777
    HDU 3045
    HDU 3480
    POJ 1180
  • 原文地址:https://www.cnblogs.com/Accpted/p/11191886.html
Copyright © 2011-2022 走看看