求最大严格递增序列

登录—专业IT笔试面试备考平台_牛客网

https://ac.nowcoder.com/acm/contest/911/G

题目链接

https://ac.nowcoder.com/acm/contest/911/G

#include<iostream> #include<algorithm> using namespace std; int main(){ int a[100000],b[100000],n;
    cin>>n; for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    b[0]=a[0]; int k=0; for(int i=1;i<n;i++){ if(b[k]<a[i]) b[++k]=a[i]; else { *lower_bound(b,b+k+1, a[i])=a[i];//lower_bound返回迭代器  }
    }
    cout<<k+1<<endl;
}

这里策略是最小的数紧接着次小的数

全部评论

相关推荐

KKorz:是这样的,还会定期默写抽查
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务