动态规划——子序列
2015-09-27 10:11
330 查看
[b]最长严格上升子序列[/b]
LIS问题,动归时间复杂度o(n2),可以用单调队列优化到o(nlogn)
http://blog.csdn.net/dangwenliang/article/details/5728363
代码:
View Code
LIS问题,动归时间复杂度o(n2),可以用单调队列优化到o(nlogn)
http://blog.csdn.net/dangwenliang/article/details/5728363
代码:
#include<iostream> #include<algorithm> using namespace std; int n,dp[100100][2],a[100100]; int main(){ cin>>n; for(int i = 1;i <= n;i++) cin>>a[i]; dp[1][0] = dp[1][1] = 1; for(int i = 2;i <= n;i++){ for(int j = 0;j <= 1;j++){ if(j == 0) if(a[i] < a[i-1]) dp[i][j] = dp[i-1][j^1] + 1; else dp[i][j] = dp[i-1][j]; else if(a[i] > a[i-1]) dp[i][j] = dp[i-1][j^1] + 1; else dp[i][j] = dp[i-1][j]; } } cout<<max(dp [0],dp [1]); return 0; }
View Code
相关文章推荐
- *LeetCode-Binary Tree Right Side View
- 工作上一个改进:一个输入序列的稳定输出
- axure7.0注册码Licensee序列号
- Verticle in Vert.x
- 信息安全系统设计基础第二周学习总结
- 多按键监听事件
- Eclipse提交svn错误svn E210003 connection refused by the server
- NSURLConnection 异步请求、同步请求
- 【特征工程系列2】如何获得训练数据的标签?
- 回溯——N皇后
- JFreeChart(二.柱状图.2)
- 面对对象思想6
- 【LeetCode】3Sum 解决报告
- java虚拟机参数
- yii2的rules()函数
- scala入门
- LeetCode Subsets II
- 23种设计模式
- C++机器学习古典材料
- 单例模式的疑问