LIS of Sequence
来源:互联网 发布:java compare 编辑:程序博客网 时间:2024/05/17 04:55
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define MAXN 100000#define INF 0x3f3f3f3fint a[MAXN +10];int num[2][MAXN +10];int sum[MAXN +10];int n;using namespace std;int lis(int *a,int *num){int d[MAXN +10];memset(d,0x3f,sizeof(d));int len = 0,i,k;for(i = 1;i <= n;i++){k = lower_bound(d+1,d+n+1,a[i])-d;num[i] = k;if(d[k] == INF)len++;d[k] = a[i];}return len;}int anti_sis(int *a,int *num){int len = 0,i,k;int d[MAXN +10];memset(d,0x3f,sizeof(d));for(i = 1;i <= n;i++)a[i] = -a[i];for(i = n;i >= 1;i--){k = lower_bound(d+1,d+n+1,a[i])-d;num[i] = k;if(d[k] == INF)len++;d[k] = a[i];}return len;}int main(){int i; scanf("%d",&n);for(i = 1;i <= n;i++) scanf("%d",&a[i]);int len = lis(a,num[0]);int len1 = anti_sis(a,num[1]);for(i = 1;i <= n;i++)if(num[0][i] + num[1][i] > len)sum[num[0][i]]++;for(i = 1;i <= n;i++)if(num[0][i] + num[1][i] <= len)printf("1");else if(sum[num[0][i]] == 1)printf("3");elseprintf("2"); return 0; }/*41 3 2 5*/
题目大意,给出n个数字。
对于每个数字:
不属于任何一个Lis 1
属于多个一个Lis 2
属于任何一个Lis 3
先做最长上升子序列,再倒过来做一次最长下降(倒着做)。
就可以得到以这个数为结尾的序列长度,和这个数作为开头的序列长度。
下面贴出代码。
0 0
- LIS of Sequence
- 486E - LIS of Sequence(LIS)
- [CF486E] LIS of Sequence && DP
- Codeforces 486E. LIS of Sequence
- CodeForces 486E LIS of Sequence
- CF 277 Div2 E LIS of Sequence
- cf 486E LIS of Sequence
- CodeForces - 486E LIS of Sequence
- Codeforces 486E LIS of Sequence
- Codeforces 486E. LIS of Sequence
- Codeforces 486E LIS of Sequence(线段树+LIS)
- E. LIS of Sequence(好题 LIS )
- [Codeforces 486E] LIS of Sequence (LIS套路)
- [Codeforces 486E] LIS of Sequence (LIS套路)
- Codeforces Round #277 (Div. 2) E. LIS of Sequence
- Codeforces Round #277 (Div. 2) E. LIS of Sequence
- uva_10534_Wavio Sequence( LIS )
- uva_10534_Wavio Sequence( LIS )
- Minimum Path Sum
- ubuntu下Scilab SIVP的安装
- [BestCoder] Round #8
- 进程间通讯概述
- PIT systick
- LIS of Sequence
- java图片处理工具
- Android学习笔记 - SlidingDrawer 和 ExpandableListView
- java要学的技术。路很长啊
- 位和字节
- 现在的目标
- [Java]编写自己的Matrix矩阵类
- 和jQuery的初次约会
- 管道通信