POJ 3903 Stock Exchange (LIS模版题)
来源:互联网 发布:手机发票制作软件 编辑:程序博客网 时间:2024/06/05 03:34
题目跟poj2533一样,改一下数组大小完美A过。
#include<cstdio>const int N = 100001;int a[N], f[N], d[N]; // d[i]用于记录a[0...i]的最大长度int bsearch(const int *f, int size, const int &a) { int l=0, r=size-1; while( l <= r ){ int mid = (l+r)/2; if( a > f[mid-1] && a <= f[mid] ) return mid;// >&&<= 换为: >= && < else if( a < f[mid] ) r = mid-1; else l = mid+1; }}int LIS(const int *a, const int &n){ int i, j, size = 1; f[0] = a[0]; d[0] = 1; for( i=1; i < n; ++i ){ if( a[i] <= f[0] ) j = 0; // <= 换为: < else if( a[i] > f[size-1] ) j = size++;// > 换为: >= else j = bsearch(f, size, a[i]); f[j] = a[i]; d[i] = j+1; } return size;}int main(){ int i, n; while( scanf("%d",&n) != EOF ){ for( i=0; i < n; ++i ) scanf("%d", &a[i]); printf("%d\n", LIS(a, n)); // 求最大递增/上升子序列(如果为最大非降子序列,只需把上面的注释部分给与替换) } return 0;}
0 0
- POJ 3903 Stock Exchange (LIS模版题)
- Poj 3903 Stock Exchange(LIS)
- POJ 3903 Stock Exchange(LIS)
- POJ 3903 Stock Exchange(LIS)
- LIS问题(POJ - 3903 Stock Exchange)
- Poj 3903 Stock Exchange(LIS)
- POJ 3903 Stock Exchange【LIS 二分查找】
- POJ 3903-Stock Exchange/POJ 2533-Longest Ordered Subsequence(LIS-最长递增子序列长度)
- POJ 3903 Stock Exchange (LIS:最长上升子序列)
- poj 3903 Stock Exchange
- POJ 3903 Stock Exchange
- POJ 3903 Stock Exchange
- 【POJ 3903】Stock Exchange
- POJ 3903 Stock Exchange
- poj 3903 Stock Exchange
- POJ3903:Stock Exchange(LIS)
- POJ 题目3903 Stock Exchange(LIC)
- TOJ 3120.Stock Exchange(LIS经典题目)
- HTML A标签 href click事件冲突
- Mahout学习之Mahout简介、安装、配置、入门程序测试
- POJ 2352 Stars(树状数组)
- 【JAVA学习】3 JAVA包
- IOS开发之UIView总结
- POJ 3903 Stock Exchange (LIS模版题)
- 全 Javascript 的 Web 开发架构:MEAN
- RotateArray
- 关于定于应用和初始化不匹配的问题
- 字符串-07. 说反话-加强版 (20)
- C数据类型变量范围 变量存储 数据溢出
- java中抽象类和接口的区别
- ORACLE9i_性能调优基础五(Sizing Other SGA structures)
- Pixhawk 源码笔记