poj1631最长递增字序列
来源:互联网 发布:国产户外品牌 知乎 编辑:程序博客网 时间:2024/06/05 07:16
这题也是简单的动态规划,只不过数据是40000,进行一般的话时间复杂度是O(n^2),可以用化简的算法,即用一个数组每次记录最长的并且是最小的递增子序列,然后进行更新的!
例子:4 2 6 3 1 5
数组a用来记录的是最小的递增数列的
第一步 数组为 4
第二部 数组为 2(进行更新)
第三步 数组为2 6(进行插入)
第四步 数组为2 3(进行替换)
第五步 数组为2 3(不改变)
第六步 数组为2 3 5(插入)
所以最长递增子数列为数组的长度为3
#include<iostream>using namespace std;int main(){int a[40005];int T,n,s,i,j;cin>>T;while(T--){cin>>n;i=0;a[i]=INT_MAX;while(n--){ cin>>s; if(s>a[i])//进行插入的 { i++; a[i]=s; continue; } for(j=i; j>=1; j--) { if(s<a[j] && s>a[j-1]) { a[j]=s; break; } } if(s<a[0]) a[0]=s;}cout<<i+1<<endl;}return 0;}
- poj1631最长递增字序列
- poj1631【最长递增子序列】
- POJ1631最长单调递增子序列
- 挑战练习题2.3动态规划 poj1631 Bridging signals 最长递增子序列
- hdu1950 poj1631 Bridging signals(n*logn的最长递增子序列)
- POJ1631 Bridging signals 最长上升子序列
- poj1631 dp 最长上升子序列LIS
- POJ1631-Bridging signals-最长上升子序列
- poj1631(最长上升子序列 nlogn)
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 使用Settings Bundle为程序添加设置项
- Deancoding<一>——数据结构学习小结
- Ubuntu用gedit,Vim打开txt文档乱码解决方法
- Qt多线程
- IOS ASI http 框架详解
- poj1631最长递增字序列
- 为什么Activity的onResume不被执行
- China flashMap 的实现(AS3)
- jQuery实现图片延迟加载
- e1000e网卡驱动分析—概述
- 杭电 ACM 1013
- WP7 真机调试PhotoChooserTask和CameraCaptureTask时无反应
- gridpanel动态重新加载columnModel与store
- 最小生成树--kruskal算法