最长不下降字序列
2017-12-17 09:21
197 查看
nlogn
#include<cstdio> #include<algorithm> using namespace std; int a[40005]; int d[40005]; int main() { int n; scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&a[i]); if (n==0) //0个元素特判一下 { printf("0\n"); return 0; } d[1]=a[1]; //初始化 int len=1; for (int i=2;i<=n;i++) { if (a[i]>=d[len]) d[++len]=a[i]; //如果可以接在len后面就接上 else //否则就找一个最该替换的替换掉 { int j=upper_bound(d+1,d+len+1,a[i])-d; //找到第一个大于它的d的下标 d[j]=a[i]; } } printf("%d\n",len); return 0; }
相关文章推荐
- 最长下降序列——中高级
- 最长上升子序列 和 最长不下降子序列
- 最长不下降子序列的o(nlogn)算法
- Vijous系列(1)LIS 最长不下降子序列的应用
- [线性DP]最长不下降子序列(LIS)
- (ssl1459)求最长不下降序列
- 洛谷2766:[网络流24题]最长不下降子序列问题——题解
- 最长下降子序列 + 最长的方案数
- 【日常学习】【二分】【最长不下降子序列长度】codevs4214 [Mz]品尝美食题解
- POJ 1836 Alignment 最长上升(下降)子序列(dp)
- tyvj 1208 最长不下降子序列2 求序列b1,b2,b3,…,bm中所有长度(n)最大上升子序列的个数
- 最长不下降子序列(n log n)做法
- LIS——最长不下降子序列
- 最长不下降子序列 (动态规划)
- 最长不下降子序列(LIS)
- POJ-1952 最长下降子序列 + 方案数
- 最长不下降子序列问题
- nlogn的最长不下降子序列【tyvj1254挑选士兵】
- HDU 1160 最长下降子序列(错误代码也可能通过,误导啊)
- 最长上升(下降)子序列 O(nlogn)