博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LIS O(n^2)模板
阅读量:5149 次
发布时间:2019-06-13

本文共 689 字,大约阅读时间需要 2 分钟。

dp[j] = max(dp[k]+1,dp[j])(0<k<j&a[j]>a[k])

#include 
#include
#include
#include
#include
#include
#include
using namespace std;const int inf = (1<<31)-1;const int MAXN = 5e5+10;int dp[MAXN];int a[MAXN];int main(){ int n; int mmax; while(~scanf("%d",&n)){ memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) scanf("%d",&a[i]); dp[1] = 1; mmax = 1; for(int i=2;i<=n;i++){ for(int j=1;j
a[j]){ dp[i] = max(dp[j]+1,dp[i]); } } mmax = max(mmax,dp[i]); } cout<
<
View Code

 其实还有一种O(n*lgn)+O(n^2)的算法,先把原序列排序,再寻找LCS

转载于:https://www.cnblogs.com/EdsonLin/p/5373220.html

你可能感兴趣的文章
源代码如何管理
查看>>
vue怎么将一个组件引入另一个组件?
查看>>
bzoj1040: [ZJOI2008]骑士
查看>>
LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
查看>>
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>
css3实现漂亮的按钮链接
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty&#39;s Blocks
查看>>
运行一个窗体直接最大化并把窗体右上角的最大化最小化置灰
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
WebForm——IIS服务器、开发方式和简单基础
查看>>
Angular中ngModel的$render的详解
查看>>
读《格局》| 未到年纪的真理
查看>>
[转]《城南旧事》里的《送别》
查看>>
django知识点总结
查看>>