[ACM]NEFUOJ-最长上升子序列
Description
给出长度为n的数组,找出这个数组的最长上升子序列
Input
第一行:输入N,为数组的长度(2=<N<=50000)
第二行:N个值,表示数组中元素的值(109<=a[i]<=109)
Output
输出最长上升子序列的长度
Sample Input
5
-6 4 -2 10 5
Sample Output
3
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int INF=0x7f7f7f7f;
const int maxn=50005;
int n, g[maxn], d[maxn],a[maxn];
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
fill(g, g+n, INF);
int maxnum=-1;
for(int i=0; i<n; i++)
{
int j = lower_bound(g, g+n, a[i]) - g;
d[i] = j+1;
if(maxnum<d[i])
maxnum=d[i];
g[j] = a[i];
}
cout<<maxnum<<endl;
return 0;
}
[ACM]NEFUOJ-最长上升子序列的更多相关文章
- 【ACM】最长公共子序列 - 动态规划
最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列.tip:最长公共子序列也称作最 ...
- 【二分】【最长上升子序列】HDU 5489 Removed Interval (2015 ACM/ICPC Asia Regional Hefei Online)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5489 题目大意: 一个N(N<=100000)个数的序列,要从中去掉相邻的L个数(去掉整个区间 ...
- Rectangles(第七届ACM省赛原题+最长上升子序列)
题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1255 描述 Given N (4 <= N <= 100) rec ...
- ACM/ICPC 之 最长公共子序列计数及其回溯算法(51Nod-1006(最长公共子序列))
这道题被51Nod定为基础题(这要求有点高啊),我感觉应该可以算作一级或者二级题目,主要原因不是动态规划的状态转移方程的问题,而是需要理解最后的回溯算法. 题目大意:找到两个字符串中最长的子序列,子序 ...
- ACM: 强化训练-Beautiful People-最长递增子序列变形-DP
199. Beautiful People time limit per test: 0.25 sec. memory limit per test: 65536 KB input: standard ...
- [ACM] hdu 1025 Constructing Roads In JGShining's Kingdom (最长递增子序列,lower_bound使用)
Constructing Roads In JGShining's Kingdom Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65 ...
- hdu1503 最长公共子序列变形
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1503 题意:给出两个字符串 要求输出包含两个字符串的所有字母的最短序列.注意输出的顺序不能 ...
- hdu 5748(求解最长上升子序列的两种O(nlogn)姿势)
Bellovin Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepte ...
- uva111动态规划之最长公共子序列
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=74662#problem/C A B C D E C - Largest Rect ...
- 04_最长上升子序列问题(LIS)
来源:刘汝佳<算法竞赛入门经典--训练指南> P60 问题6: 问题描述:给定n个整数a1,a2,...,an,按从左到右的顺序选出尽量多的整数,组成一个上升子序列(子序列可以理解为:删除 ...
随机推荐
- lvds接口
1.lvds就是差分信号接口,tft-lcd屏幕,一种常用的接口. 2.有3种标准,18bit, 24bit(JEIDA) 与 24bit(VESA) 详细看https://www.topwaydis ...
- UEC++学习(2)
第三章 断言 第一节 简单的断言 断言让程序的进程中断,方便程序员发现在哪里发生了问题. AGameBase * GameBase = nullptr; check(false); check(Gam ...
- C# POST multipart/form-data 方式提交数据
一.提交方法 /// <summary> /// MultipartFormData Post方式提交 /// </summary> /// <param name=&q ...
- 如何安装vm虚拟机软件并用该软件建立虚拟机
一.安装vm虚拟机软件 1.双击打开虚拟机应用程序 找到VM应用程序所在的位置,双击安装 2.根据向导安装 根据提示点击下一步 点击安装之后耐心等待一会,会出现需要输入许可证的的界面,这时候不要关闭界 ...
- Idea项目构建时解决方法
java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: GC overhead limit exceeded 整 ...
- NODEJS的误打误撞
我接触nodejs 纯属是误打误撞,之前在做一个房地产项目的时候,客户提出了一个需求,我大概整理一些"我们需要员工只能在公司登陆房管系统并进行操作,回家是不允许进行登录的",其实对 ...
- 如何确保获取的输入为整数-C语言基础
这一篇探讨的是如何确保你输入的数据是一个整数.虽然标题用的是这个,但我其实真正想要探讨的内容是 "在程序调试的过程中,需要注意把输入缓存区中的上一次输入的残留信息清理干净,以免影响下一次的输 ...
- MySql数据库读取字段错误问题
一个小小的BUG,断断续续搞了一个月才搞定,使用MySql的时候使用mysql_fetch_fields()获取的字段始终始终是错误的,因为是修改别人的代码,一直找不到问题,Debug了无数次还是搞不 ...
- nohup /root/runoob.sh > runoob.log 2>&1 &
nohup /root/runoob.sh > runoob.log 2>&1 &****
- C/C++ 异常处理机制(例:文件拷贝)
异常是一种程序控制机制,与函数机制互补. 函数是一种以栈结构展开的上下函数衔接的程序控制系统,异常是另一种控制结构,它可以在出现"意外"时中断当前函数,并以某种机制(类型匹配)回馈 ...