最长上升子序列(LIS) 两种复杂度算法
来源:互联网 发布:坐月子的书籍推荐知乎 编辑:程序博客网 时间:2024/05/17 02:52
//O(n^2)#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 30010;int dp[maxn], a[maxn];int main(){int n;while(scanf("%d",&n)!=EOF){for(int i=0;i<n;++i) scanf("%d",&a[i]); int ans=0; for(int i=0;i<n;++i) { dp[i]=1; for(int j=0;j<i;++j) { if(a[j]<a[i]) dp[i] = max(dp[i], dp[j]+1); } ans=max(dp[i],ans); } printf("%d\n",ans); }return 0;} //O(nlogn)#include <cstdio> #include <algorithm> #define INF 0x3f3f3f using namespace std; int dp[30010],a[30010]; int main() { int n,i,j; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;++i) { scanf("%d",&a[i]); dp[i]=INF; } for(i=0;i<n;++i) *lower_bound(dp,dp+n,a[i])=a[i]; printf("%d\n",lower_bound(dp,dp+n,INF)-dp); } return 0; }
阅读全文
0 0
- 最长上升子序列(LIS) 两种复杂度算法
- 最长上升子序列(LIS) 两种复杂度算法
- 最长上升子序列两种复杂度的算法 LIS
- 最长上升子序列(LIS)的两种算法
- 最长上升子序列(LIS)的两种算法
- LIS(最长上升子序列两种算法模板)DP模板,并且输出序列
- 最长上升子序列LIS算法实现
- LIS算法(最长上升子序列)
- 最长上升子序列LIS算法实现
- 最长上升子序列LIS算法实现
- LIS(最长上升子序列)算法 -------模板
- 最长上升子序列LIS算法实现
- 最长上升子序列LIS算法实现
- LIS算法: 最长上升子序列
- 最长上升子序列(LIS)算法分析
- 最长上升子序列(LIS)算法分析(做…
- 最长上升子序列(LIS)nlogn算法(转)
- 最长上升子序列(LIS)算法…
- 解数独(Java)
- 大数据软件框架之Hadoop框架
- 使用php将数据导入excel的简单方法
- Xamairn.Forms 用户界面——控件——布局——Native Embedding
- Ruby环境如何部署?
- 最长上升子序列(LIS) 两种复杂度算法
- hdu 1787 欧拉函数~~
- Java实现Oracle到MySQL的表迁移
- 左右抖动之后上下抖动
- Tomcat的简单归纳总结
- HDU6092(Rikka with Subset)
- 欢迎使用CSDN-markdown编辑器
- 面试题,不关于概念的
- servlet表单验证404错误