南阳理工OJ 单调递增子序列(二)
来源:互联网 发布:php 换行分割 编辑:程序博客网 时间:2024/06/01 10:44
单调递增子序列(二)
时间限制:1000 ms | 内存限制:65535 KB
难度:4
- 描述
给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长子序列,并求出其长度。
如:1 9 10 5 11 2 13的最长单调递增子序列是1 9 10 11 13,长度为5。
- 输入
- 有多组测试数据(<=7)
每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的下一行里有n个整数,表示数列中的所有元素.每个整形数中间用空格间隔开(0<n<=100000)。
数据以EOF结束 。
输入数据保证合法(全为int型整数)! - 输出
- 对于每组测试数据输出整形数列的最长递增子序列的长度,每个输出占一行。
- 样例输入
71 9 10 5 11 2 1322 -1
- 样例输出
51
- 来源
- [521521]改编
- 上传者
ACM_赵铭浩
思路:
用到STL中lower_bound
从一开始
代码:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<stack>using namespace std;#define INF 0x3f3f3f3fint s[100005];int main(){ int n; cin.sync_with_stdio(false); while(cin>>n) { memset(s,-INF,sizeof(s)); int len=0; for(int i=0;i<n;i++) { int k; cin>>k; int f=lower_bound(s+1,s+len+1,k)-s; s[f]=k; if(f>len) len=f; } cout<<len<<endl; } return 0;}
阅读全文
0 0
- 南阳理工OJ 单调递增子序列(二)
- 单调递增子序列(二) 南阳理工214 二分查找
- 南阳理工:单调递增最长子序列
- 南阳ACM214单调递增子序列(二)
- 南阳理工 题目17 单调递增最长子序列
- 南阳理工OJ_题目17 单调递增最长子序列
- 【南阳理工】 17 单调递增最长子序列 【模板】
- 经典代码 南阳 oj 单调(递减)递增最长子序列
- 单调递增子序列(二)(南阳oj214)
- 南阳ACM~~214单调递增子序列(二)
- 南阳17 单调递增最长子序列
- 单调递增子序列(二)
- 单调递增子序列(二)
- 单调递增子序列(二)
- 单调递增子序列(二)
- 单调递增子序列(二)
- 单调递增子序列(二)
- 单调递增子序列(二)
- 洛谷 1968 美元汇率
- python-元编程
- 算法设计与分析笔记之(4):动态规划
- HTML/CSS小知识整理(持续更新)
- 2017 10 07 NOIP2017模拟赛
- 南阳理工OJ 单调递增子序列(二)
- 欧拉函数
- 【XSY1098】第k小 可持久化trie
- 注册 登录界面以及正则的使用
- Java分页功能实现
- 欢迎使用CSDN-markdown编辑器
- BZOJ1249:SGU277 HERO 动态凸包(set)
- 集合的排序及相关知识
- SSM框架全局异常处理的搭建