标签:
Time Limit: 2000MS | Memory Limit: 65536K | |
Total Submissions: 47465 | Accepted: 21120 |
Description
Input
Output
Sample Input
7 1 7 3 5 9 4 8
Sample Output
4
题目链接:POJ 2533
LIS模版题,N2和N*logN两种写法
N2代码:
#include<stdio.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<sstream> #include<cstring> #include<bitset> #include<string> #include<deque> #include<stack> #include<cmath> #include<queue> #include<set> #include<map> using namespace std; #define INF 0x3f3f3f3f #define CLR(x,y) memset(x,y,sizeof(x)) #define LC(x) (x<<1) #define RC(x) ((x<<1)+1) #define MID(x,y) ((x+y)>>1) typedef pair<int,int> pii; typedef long long LL; const double PI=acos(-1.0); const int N=1e3+10; int arr[N],mx[N]; void init() { CLR(arr,0); CLR(mx,0); } int main(void) { int n,i,j,pre_len,next_len; while (~scanf("%d",&n)) { init(); for (i=1; i<=n; ++i) scanf("%d",&arr[i]); mx[1]=1; for (i=2; i<=n; ++i) { pre_len=0; for (j=1; j<i; ++j) { if(arr[j]<arr[i])//arr[i]可以接到arr[j]后面 if(mx[j]>pre_len)//接到一个具有最长LIS的后面。 pre_len=mx[j]; } mx[i]=pre_len+1; } printf("%d\n",*max_element(mx+1,mx+1+n)); } return 0; }
NlogN代码:
#include<stdio.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<sstream> #include<cstring> #include<bitset> #include<string> #include<deque> #include<stack> #include<cmath> #include<queue> #include<set> #include<map> using namespace std; #define INF 0x3f3f3f3f #define CLR(x,y) memset(x,y,sizeof(x)) #define LC(x) (x<<1) #define RC(x) ((x<<1)+1) #define MID(x,y) ((x+y)>>1) typedef pair<int,int> pii; typedef long long LL; const double PI=acos(-1.0); const int N=1e3+10; int arr[N],d[N]; void init() { CLR(arr,0); CLR(d,0); } int main(void) { int n,i,j,mxlen; while (~scanf("%d",&n)) { init(); for (i=1; i<=n; ++i) scanf("%d",&arr[i]); mxlen=1; d[mxlen]=arr[mxlen]; for (i=2; i<=n; ++i) { if(d[mxlen]<arr[i]) d[++mxlen]=arr[i];//最好情况一直往后增长 else { int pos=lower_bound(d,d+mxlen,arr[i])-d;//用二分找到一个下界可放置位置 d[pos]=arr[i]; } } printf("%d\n",mxlen); } return 0; }
POJ 2533 Longest Ordered Subsequence(LIS模版题)
标签:
原文地址:http://www.cnblogs.com/Blackops/p/5853673.html