POJ - 2533 Longest Ordered Subsequence(最长上升子序列)
d.最长上升子序列
s.注意是严格递增
c.O(nlogn)
#include<iostream>
#include<stdio.h>
using namespace std; const int MAXN=;
int a[MAXN],b[MAXN];
//b[k]是序列a中所有长度为k的递增子序列中的最小结尾元素值
//用二分查找的方法找到一个位置,使得num>b[i-1]并且num<b[i],并用num代替b[i]
int Search(int num,int low,int high){
int mid;
while(low<=high){
mid=(low+high)/;
if(num>=b[mid])low=mid+;
else high=mid-;
}
return low;
}
int DP(int n){
int i,len,pos;
b[]=a[];
len=;
for(i=;i<=n;i++){
if(a[i]>b[len]){//如果a[i]比b[]数组中最大还大直接插入到后面即可
len=len+;
b[len]=a[i];
}
else{//用二分的方法在b[]数组中找出第一个比a[i]大的位置并且让a[i]替代这个位置
pos=Search(a[i],,len);
b[pos]=a[i];
}
}
return len;
} int main(){ int N;
int i; while(~scanf("%d",&N)){
for(i=;i<=N;++i){
scanf("%d",&a[i]);
} printf("%d\n",DP(N));
} return ;
}
c2.O(n^2)
#include<iostream>
#include<stdio.h>
using namespace std; #define MAXN 1005 int a[MAXN];
int dp[MAXN];//dp[i]表示以a[i]作为结尾的最长上升子序列的长度 int main(){ int N;
int i,j;
int temp;
int ans; while(~scanf("%d",&N)){ for(i=;i<=N;++i){
scanf("%d",&a[i]);
} dp[]=; for(i=;i<=N;++i){ temp=; for(j=;j<i;++j){
if(a[i]>a[j]){
if(temp<dp[j]){
temp=dp[j];
}
}
} dp[i]=temp+;
} ans=;
for(i=;i<=N;++i){
if(dp[i]>ans){
ans=dp[i];
}
} printf("%d\n",ans);
} return ;
}
POJ - 2533 Longest Ordered Subsequence(最长上升子序列)的更多相关文章
- poj 2533 Longest Ordered Subsequence 最长递增子序列
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4098562.html 题目链接:poj 2533 Longest Ordered Subse ...
- POJ 2533 - Longest Ordered Subsequence - [最长递增子序列长度][LIS问题]
题目链接:http://poj.org/problem?id=2533 Time Limit: 2000MS Memory Limit: 65536K Description A numeric se ...
- poj 2533 Longest Ordered Subsequence 最长递增子序列(LIS)
两种算法 1. O(n^2) #include<iostream> #include<cstdio> #include<cstring> using namesp ...
- POJ 2533 Longest Ordered Subsequence 最长递增序列
Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequenc ...
- POJ 2533 Longest Ordered Subsequence(裸LIS)
传送门: http://poj.org/problem?id=2533 Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 6 ...
- POJ - 2533 Longest Ordered Subsequence与HDU - 1257 最少拦截系统 DP+贪心(最长上升子序列及最少序列个数)(LIS)
Longest Ordered Subsequence A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let ...
- 题解报告:poj 2533 Longest Ordered Subsequence(最长上升子序列LIS)
Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence ...
- POJ 2533 Longest Ordered Subsequence(最长上升子序列(NlogN)
传送门 Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subseque ...
- POJ 2533 Longest Ordered Subsequence(DP 最长上升子序列)
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 38980 Acc ...
- POJ 2533 Longest Ordered Subsequence(LIS模版题)
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 47465 Acc ...
随机推荐
- [oracle] ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
安装好Oracle数据库后: 执行 dbstart和dbshut会提示: [oracle@oracle11g ~]$ dbstartORACLE_HOME_LISTNER is not SET, un ...
- bzoj1015 星球大战
Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过 ...
- CentOS生产机器禁止ROOT远程SSH登录
方法一 很多站长拥有linux主机,不管是虚拟机还是实体机,一般我们远程连接的时候,都是用的ssh(SecureShell建立在应用层和传输层基础上的安全协议). 它默认的端口22,默认使用root也 ...
- Install and configure Intel NIC teaming on R420
OS env: windows2008 R2 std 1. Download NIC driver from Dell Website http://www.dell.com/support/home ...
- visual studio 2013 中常用的一些快捷键
在编辑代码或者复制网上的代码段到VS2013中时,代码会显示的非常乱,这里便可以通过 vs2013中的快捷键进行自动对齐操作[ctrl+k+f],类似的快捷操作还有很多,在这里给大家总结一下,以提高编 ...
- 不用配置tnsnames.ora,直接通过PL/SQL访问远程数据库
- 让 SVN (TortoiseSVN)提交时忽略bin和obj目录
2013-06-23 更新 后来我使用属性来过滤,结果反而没有效果了,之后我再次尝试使用全局忽略样式设置:*/bin */obj */packages 结果又有效果了,奇怪了. ------- 由于我 ...
- API爬虫--Twitter实战
本篇将从实际例子出发,展示如何使用api爬取twitter的数据. 1. 创建APP 进入https://apps.twitter.com/,创建自己的app.只有有了app才可以访问twitter的 ...
- PLSQL_基础系列03_合并操作UNION / UNION ALL / MINUS / INTERSET(案例)
2014-11-30 Created By BaoXinjian
- bug_ _ java.lang.IllegalArgumentException: pointerIndex out of range 问题的两种解决办法
========== 4 如何解决java.lang.IllegalArgumentException: pointerIndex out of range? 今天遇到一个bug:java.l ...