博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2533 Longest Ordered Subsequence(DP 最长上升子序列)
阅读量:5966 次
发布时间:2019-06-19

本文共 2126 字,大约阅读时间需要 7 分钟。

Longest Ordered Subsequence
Time Limit: 2000MS   Memory Limit: 65536K
Total Submissions: 38980   Accepted: 17119

Description

A numeric sequence of 
ai is ordered if 
a1 < 
a2 < ... < 
aN. Let the subsequence of the given numeric sequence (
a1
a2, ..., 
aN) be any sequence (
ai1
ai2, ..., 
aiK), where 1 <= 
i1 < 
i2 < ... < 
iK <= 
N. For example, sequence (1, 7, 3, 5, 9, 4, 8) has ordered subsequences, e. g., (1, 7), (3, 4, 8) and many others. All longest ordered subsequences are of length 4, e. g., (1, 3, 5, 8).
Your program, when given the numeric sequence, must find the length of its longest ordered subsequence.

Input

The first line of input file contains the length of sequence N. The second line contains the elements of sequence - N integers in the range from 0 to 10000 each, separated by spaces. 1 <= N <= 1000

Output

Output file must contain a single integer - the length of the longest ordered subsequence of the given sequence.

Sample Input

71 7 3 5 9 4 8

Sample Output

4

Source

, Far-Eastern Subregion
n*n算法
 
#include
#include
#include
#include
#include
#include
using namespace std;int n;int a[1001];int dp[1010];int main(){ while(scanf("%d",&n)!=EOF) { int maxx = -1; for(int i=0;i
a[j] && dp[j]+1>dp[i]) { dp[i] = dp[j] + 1; } } if(maxx < dp[i]) { maxx = dp[i]; } } printf("%d\n",maxx); } return 0;}
n*logn算法:
#include
#include
#include
#include
#include
#define inf 999999using namespace std;int n;int dp[1010];int a[1010];int res(int len,int num){ int l = 0,r = len; while(l!=r) { int mid = (l+r)>>1; if(dp[mid] == num) { return mid; } else if(dp[mid]
num) { r = mid; } } return l;}int main(){ while(scanf("%d",&n)!=EOF) { for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } int len = 1; dp[0] = -1; for(int i=1;i<=n;i++) { dp[i] = inf; int k = res(len,a[i]); if(k == len) { len++; } dp[k] = a[i]; } printf("%d\n",len-1); } return 0;}

转载地址:http://uomax.baihongyu.com/

你可能感兴趣的文章
生产环境MySQL 5.5.x单机多实例配置实践
查看>>
Web应用工作原理、动态网页技术
查看>>
EXCEL工作表保护密码破解 宏撤销保护图文教程
查看>>
Catalan数(卡特兰数)
查看>>
Linux shell的条件判断、循环语句及实例
查看>>
JPA常用注解
查看>>
简单的设置
查看>>
常用命令1
查看>>
Windows Server 2012 DHCP故障转移
查看>>
Linux服务器配置和管理:虚拟机安装CentOS6.7
查看>>
掌握ajax
查看>>
ASA下邮件发送经常失败
查看>>
python3第八天(面向对象)
查看>>
我的友情链接
查看>>
ubuntu atp&dpkg
查看>>
主要 次要通道
查看>>
利用贝叶斯分类器进行文本挖掘---笔记
查看>>
我的友情链接
查看>>
将ping命令结果输出到文本
查看>>
小蚂蚁学习mysql性能优化(8)--数据库结构优化--范式化和反范式化,水平分表,垂直分表...
查看>>