首页 > 其他分享 >最长上升子序列

最长上升子序列

时间:2023-08-12 22:45:02浏览次数:37  
标签:int len leq 序列 上升 最长

最长上升子序列

题目描述

给定一个长度为 \(n\) 的数列 \(a\),求其最长上升子序列长度


DP \(O(n^2)\)

\(f[i]\) 表示以 \(i\) 结尾的最长上升子序列

显然有 \(f[i]=max(f[i],f[j]+1)\)

其中 \(1\leq i \leq n,1\leq j\leq i,f[0]=0,f[n]\) 即为所求

code

for(int i=1; i<=n; ++i)
	for(int j=1; j<i; ++j)
		if(a[j]<a[i])
			f[i]=max(f[i],f[j]+1);

一种 \(O(n\log n)\) 的做法

\(f[i]\) 表示最长上升子序列的第 \(i\) 项的值

\(len\) 表示序列长度,\(len\) 即为所求

code

f[1]=a[1],len=1;
for(int i=1; i<=n; ++i) {
	if(a[i]>f[len])
		f[++len]=a[i];
	else {
		int pos=lower_bound(f+1,f+1+len,a[i])-f;
   		f[pos]=a[i];
	}
}

标签:int,len,leq,序列,上升,最长
From: https://www.cnblogs.com/chelsyqwq/p/17625718.html

相关文章

  • URLDNS的反序列化调试分析
    Java反序列化(0):URLDNS的反序列化调试分析URLDNS链子是Java反序列化分析的第0课,网上也有很多优质的分析文章。笔者作为Java安全初学者,也从0到1调试了一遍,现在给出调试笔记。一.Java反序列化前置知识Java原生链序列化:利用Java.io.ObjectInputStream对象输出流的writerObject......
  • P1631 序列合并[优先队列]
    P1631序列合并这个没做出来属实有些惭愧。看了题解觉得很妙。如果直接想的话可能反而很麻烦题目是给两个n个数的不下降序列,问这两个序列任意各取出一个后相加的最小的n个数是什么。直接贴题解吧题解P1631【序列合并】一共会产生n*n个数,a[1]+b[1]<=a[1]+b[2]........<=a[1......
  • 力扣-最长公共前缀
    编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 示例1:输入:strs=["flower","flow","flight"]输出:"fl"示例2:输入:strs=["dog","racecar","car"]输出:""解释:输入不存在公共前缀。 提示:1<=st......
  • 一键登录助力用户转化率稳步上升
    一键登录是什么? 本机号码一键登录验证是一种登录认证方式,通过获取用户手机上的本机号码来验证用户身份,从而实现快捷登录和简化登录流程的目的。在使用一键登录时,首先需要用户在登录页面选择使用本机号码一键登录,然后系统自动会通过移动网络运营商获取用户手机上的本机号码。然后系......
  • 【运维】如何在centos上升级OpenSSL
    很多小伙伴肯定遇到过被通知自己的服务器存在一些ssh漏洞问题,其实只要升级OpenSSL版本就能解决这些问题。下面给出一些操作步骤:确认已准备好编译环境:sudoyumgroupinstall"DevelopmentTools"下载OpenSSL的源代码包:wgethttps://www.openssl.org/source/openssl-1.1.1l.tar.gz......
  • 百度人脸识别授权序列号-设备时间复原问题
    Q:为什么单设备授权序列号失效?A:以下情况都有可能导致序列号失效,请您进行一-排查1.测试序列号过期,请在百度智能云管理后台申请更多测试序列号2.CPU、网卡等硬件损坏导致硬件指纹变更3.已经激活的设备硬件变更4.SDK升级:安卓1.0&2.0版本升级至3.0&4.0&5.0版本会导......
  • 《剑指Offer》-48-最长不含重复字符串的子字符串
    这题以前做过,和力扣-3重复 intlengthOfLongestSubstring(strings){ //本来应该是用map,但是其实可以使用数组替代,下标对应了字母 unordered_map<char,int>map; intlen=s.size(),maxLen=0;//初始化为0是因为可能字符串长度为0 vector<int>dp(len+1,0);//多......
  • [oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列
    字体样式回忆上次内容上次了解了一个新的转义模式\033逃逸控制字符escesc退出标准输出流进行控制信息的设置可以清屏也可以设置光标输出的位置还能做什么呢?可以设置字符的颜色吗???......
  • [oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列
    字体样式回忆上次内容上次了解了一个新的转义模式\033逃逸控制字符esc esc让输出退出标准输出流进行控制信息的设置可以清屏也可以设置光标输出的位置  还能做什么呢?可以设置字符的颜色吗???......
  • prefur序列及Cayley公式
    一.写在前面p.s学习自https://www.cnblogs.com/dirge/p/5503289.html二.prefur序列1.由无根树生成prefur序列首先定义无根树中度数为1的节点是叶子节点。找到编号最小的叶子并删除,序列中添加与之相连的节点编号,重复执行直到只剩下2个节点。2.由prefur序列生成无根树设点集......