最长上升子序列 nlogn;也是从别人的博客学来的

#include<iostream>
#include<algorithm>
#define maxn 100000+5
using namespace std;
int n;
int a[maxn];
int solve(int b[],int l)
{
int f[maxn];//f[i]表示子序列长度为i+1的序列中,末尾元素最小的元素的值
int k=0;
f[k++]=b[0];
for(int i=1;i<l;i++)
{
if(b[i]>=f[k-1]) f[k++]=b[i];
else
{
int pos=upper_bound(f,f+k,a[i])-f;
f[pos]=a[i];
}
}
return k;
}
int main()
{
cin.sync_with_stdio(false);
int t;
cin>>t;
int flag=1;
while(t--)
{
cin>>n;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
a[i]=x-i;
}
int re=solve(a,n);
cout<<"Case "<<"#"<<flag++<<":"<<endl;
cout<<n-re<<endl;
}
return 0;
}

最新文章

  1. 用Kotlin开发Android应用(III):扩展函数和默认值
  2. 微信开发系列----02:实现POST请求响应
  3. easyui-datagrid自动合并行
  4. iOS开发-xCode代码格式化xAlign
  5. C++Builder及VC的库相互调用
  6. [python]python元类
  7. 转:C# 使用NLog记录日志
  8. FXK Javascript
  9. mysql建库DATETIME、DATE 和 TIMESTAMP区别
  10. HDU1056 HangOver
  11. TQ210裸机编程(2)——LED流水灯
  12. Python中列表的常用操作
  13. php出现Can&#39;t use function return value in write context
  14. JVM之Java虚拟机详解
  15. C#2.0 迭代器
  16. c++中sizeof的理解
  17. 6、LwIP协议规范翻译——缓冲及内存管理
  18. Linux 忘记了mysql 密码
  19. Fiddler抓取https设置详解
  20. UVa 11806 拉拉队(容斥原理)

热门文章

  1. Vue+Bootstrap实现购物车程序(2)
  2. snowflake机器标识自动绑定
  3. Python3.5安装wxpython
  4. 基于flask的网页聊天室(一)
  5. 【ZOJ - 3780】 Paint the Grid Again (拓扑排序)
  6. winfrom Panel 问题
  7. 【03】HTML&#160;head&#160;头部分的标签说明 和 手机头部标签说明
  8. Python安装配置
  9. PHP $_SERVER的使用
  10. Tyvj 1176 火焰巨魔的惆怅