【模板】最长递增子序列
来源:互联网 发布:api原油库存数据变化 编辑:程序博客网 时间:2024/05/21 08:58
#include <stdio.h> #include <algorithm> #include <string.h> using namespace std; int a[1005],dp[1005],n; int LIS() { int i,j,ans,m; dp[1] = 1; ans = 1; for(i = 2;i<=n;i++) { m = 0; for(j = 1;j<i;j++) { if(dp[j]>m && a[j]<a[i]) m = dp[j]; } dp[i] = m+1; if(dp[i]>ans) ans = dp[i]; } return ans; }
优化:
#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; int a[40005],dp[40005],n; int bin(int size,int k) { int l = 1,r = size; while(l<=r) { int mid = (l+r)/2; if(k>dp[mid]) l = mid+1; else r = mid-1; } return l; } int LIS() { int i,j,ans=1; dp[1] = a[1]; for(i = 2; i<=n; i++) { if(a[i]<=dp[1]) j = 1; else if(a[i]>dp[ans]) j = ++ans; else j = bin(ans,a[i]); dp[j] = a[i]; } return ans; }
阅读全文
0 0
- 【模板】最长递增子序列
- 最长递增子序列模板
- 【模板】最长递增子序列
- 【模板】最长递增子序列
- 最长公共子序列和最长递增子序列模板
- 模板[最长递增子序列] O(nlogn)
- 【模板】最长递增公共子序列
- 最长递增的子序列(模板)
- 最长公共递增子序列【模板】
- 【模板】最长递增公共子序列
- 最长递增子序列(模板)
- 最长递增子序列(模板)
- 【模板】最长递增公共子序列
- 最长公共序列 最长递增子序列 最长公共递增子序列 模板
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- 最长递增子序列
- Android--(8)--详解表格布局(TableLayout)
- RNN及其公式推导
- LoadRunner工作原理
- Android 线刷小白教程
- 【C语言版】CCF火车购票问题(201609-2)
- 【模板】最长递增子序列
- 生成p12自签名数字证书&使用p12证书为apk签名
- 面向对象三大特性
- 【codevs 3287】货车运输
- JSP中九大内置对象
- APICloud率先适配iOS 11,以及APP开发者需知的4个关键特性
- centos7.2 更新源、修改hostname主机名
- 短实习----Java面向对象(基础知识)
- Idea下lombok的安装和使用