最长上升子序列(LIS)和最长下降子序列(LDS)
2017-11-29 15:07
288 查看
LIS和LDS模板:
const int MAXN = 100005; int a[MAXN], dp[MAXN]; //最长上升子序列 int LIS(int n) { int res = 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); res = max(res, dp[i]); } return res; } //最长下降子序列 int LDS(int n) { int res = 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); res = max(res, dp[i]); } return res; }
相关文章推荐
- 最长不下降子序列(可以改成最长上升子序列)
- LIS 模板 (最长上升/下降子序列) STL实现
- hdu 5421 小明系列问题——小明序列(LIS最长上升子序列)
- BZOJ1046(HAOI2007)[上升序列]--最长下降子序列预处理
- 蓝桥杯算法训练拦截导弹【最长上升子序列 & 最长非下降子序列nlogn 和 n^2】
- LIS(Longest Increasing Subsequence)最长上升(不下降)子序列
- LIS 最长上升子序列问题 nlgn时间打印其中一个序列
- POJ 1836 Alignment(DP max(最长上升子序列 + 最长下降子序列))
- POJ 1836 Alignment(DP max(最长上升子序列 + 最长下降子序列))
- tyvj 1208 最长不下降子序列2 求序列b1,b2,b3,…,bm中所有长度(n)最大上升子序列的个数
- LIS(Longest Increasing Subsequence)最长上升(不下降)子序列
- 【模版】二分查找、最长上升子序列(LIS)、最长下降子序列模版
- hdu 5256 序列变换(LIS最长上升子序列)
- POJ3670Eating Together(LIS最长(非)上升(下降)子序列模板)
- joj 2529 Chorus 动态规划 最长上升子序列和最长下降子序列
- LIS(最长上升子序列两种算法模板)DP模板,并且输出序列
- 最长上升子序列(LIS)
- LIS - 最长上升子序列 (二分优化)
- 最长上升子序列(LIS)的两种算法
- 关于最长上升子序列的问题(LIS)