最长递增子序列
来源:互联网 发布:网络二哥是什么意思 编辑:程序博客网 时间:2024/06/05 07:28
#include<stdio.h>int data[100005],big[100005],len,n;int main(){ int i,j,k,mid; while(~scanf("%d",&n)) { for(i=0; i<n; i++) scanf("%d",&data[i]); big[0]=data[0];//将递增长度为i的值不断的减小,数组依然满足递增,若是大于最大值,则将添加更新最长递增子序列 for(len=i=1; i<n; i++) { if(big[0]>data[i]) { big[0]=data[i]; continue; } else if(big[len-1]<data[i]) { big[len++]=data[i]; continue; } //二分查找 j=0; k=len-1; while(j<k) { mid=(j+k)/2; if(data[i]>big[mid])j=mid+1; else if(data[i]<big[mid])k=mid-1; else break; } if(big[j]>=data[i])big[j]=data[i]; else if(data[i]<=big[k])big[k]=data[i]; else if(data[i]>big[k]){ big[k+1]=data[i]; } } printf("%d\n",len); } return 0;}
阅读全文
0 0
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 如何判定人机交互设计做的好不好
- 指针与整数
- Transform组件
- 控制反转与依赖注入
- android6.0设置默认Luncher方式
- 最长递增子序列
- 高通平台 UART log 开启方法
- 内核抢占
- ReactNative学习第一天
- C++中vector的用法详解
- Activiti获取当前任务后续路径,动态生成执行路径按钮
- 神华SAP物资采购项目经验总结
- void类型指针与空指针
- 浅谈Android中的LOG查看ANR(一)