51Nod:1134 最长递增子序列
第1行:1个数N,N为序列的长度(2 <= N <= 50000)
第2 - N + 1行:每行1个数,对应序列的元素(-10^9 <= S[i] <= 10^9)
输出最长递增子序列的长度。
8
5
1
6
8
2
4
5
10
5

使用数组来储存a[i]的最长递增子数列
用pos记录在dp数组里面a[i]小于dp的位置,并将a[i]按顺序储存在dp中
#include<bits/stdc++.h>
using namespace std;
const int maxn=50000+10;
int a[maxn],dp[maxn];
int main()
{
int n,i;
cin>>n;
for(i=0;i<n;i++) cin>>a[i];
memset(dp,0,sizeof(0));
dp[0]=a[0];
int pos;
int sum=1;
for(i=1;i<n;i++)
{
pos=lower_bound(dp,dp+sum,a[i])-dp;//pos是指对dp[i]升序排序后,记录小于等于a[i]的位置
//lower_bound原理是二分,寻找a数组中小于dp
dp[pos]=a[i];//将a[i]储存,
sum=max(pos+1,sum);
}
cout<<sum<<endl;
return 0;
}
51Nod:1134 最长递增子序列的更多相关文章
- 51nod 1134 最长递增子序列
题目链接:51nod 1134 最长递增子序列 #include<cstdio> #include<cstring> #include<algorithm> usi ...
- 51nod 1134最长递增子序列
1134 最长递增子序列 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素 ...
- LCS 51Nod 1134 最长递增子序列
给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10. Input 第1行:1个 ...
- 51Nod - 1134 最长递增子序列【动态规划】
给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10. Input 第1行:1个数N ...
- LIS 51Nod 1134 最长递增子序列
给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10. Input 第1行:1个 ...
- 51Nod 1134 最长递增子序列(动态规划O(nlogn))
#include <iostream> #include <algorithm> #include <stdio.h> #define MAXN 50010 usi ...
- 51nod 1376 最长递增子序列的数量(线段树)
51nod 1376 最长递增子序列的数量 数组A包含N个整数(可能包含相同的值).设S为A的子序列且S中的元素是递增的,则S为A的递增子序列.如果S的长度是所有递增子序列中最长的,则称S为A的最长递 ...
- 51nod 1218 最长递增子序列 | 思维题
51nod 1218 最长递增子序列 题面 给出一个序列,求哪些元素可能在某条最长上升子序列中,哪些元素一定在所有最长上升子序列中. 题解 YJY大嫂教导我们,如果以一个元素结尾的LIS长度 + 以它 ...
- 51 Nod 1134 最长递增子序列(经典问题回顾)
1134 最长递增子序列 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元 ...
随机推荐
- Style、ControlTemplate 和 DataTemplate 触发器
本文摘要: 1:属性触发器: 2:数据触发器: 3:事件触发器: Style.ControlTemplate 和 DataTemplate 都有触发器集合. 属性触发器只检查W ...
- codeforces 487a//Fight the Monster// Codeforces Round #278(Div. 1)
题意:打怪兽.可增加自己的属性,怎样在能打倒怪兽的情况下花费最少? 这题关键要找好二分的量.一开始我觉得,只要攻击到101,防御到100,就能必胜,于是我对自己的三个属性的和二分(0到201),内部三 ...
- 『cs231n』卷积神经网络工程实践技巧_上
概述 数据增强 思路:在训练的时候引入干扰,在测试的时候避免干扰. 翻转图片增强数据. 随机裁切图片后调整大小用于训练,测试时先图像金字塔制作不同尺寸,然后对每个尺寸在固定位置裁切固定大小进入训练,最 ...
- MySQL缓存机制
对MySql查询缓存及SQL Server过程缓存的理解及总结 一.MySql的Query Cache 1.Query Cache MySQL Query Cache是用来缓存我们所执行的SELE ...
- 字符串 dfs
1222: FJ的字符串 [水题] 时间限制: 1 Sec 内存限制: 128 MB 提交: 52 解决: 9 状态 题目描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ ...
- 3.3 建立松耦合组件(MVC 模式最重要的特性之一是它支持、关注“分离”)《精通 ASP.NET MVC 5》 推荐指数:8 星半
笔者通常希望应用程序中的组件尽可能独立,而只有很少几个可控的依赖项.—— 在理想情况下,每个组件都不了解其他组件,而只是通过抽象接口来处理应用程序的其他区域.这称为松耦合 .—— 它能够使应用程序更易 ...
- idea中使用gradle
idea中使用gradle gradle下载 gradle下载地址:https://services.gradle.org/distributions/ 这里假设下载的是4.6版本的,如下: 笔者下载 ...
- vs2015 企业版、专业版如何破解(秘钥)
安装完vs2015 企业版后,在菜单帮助---注册产品,显示产品试用期30天,怎么破解呢? 一.破解秘钥 企业版 HM6NR-QXX7C-DFW2Y-8B82K-WTYJV 专业版 HMG ...
- jsp javabean开发模式
JSP&&JavaBean开发模式 在jsp+javabean架构中,jsp负责控制逻辑,表现逻辑,业务对象的调用 jsp+javaBean模式适合开发业务逻辑不复杂的web应用,这种 ...
- mkfs.ext3 option
mkfs.ext3 OPTIONS -b block-size Specify the size of blocks in bytes. Valid block-size values are ...
