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

B3637 最长上升子序列

时间:2023-11-18 19:56:58浏览次数:23  
标签:int B3637 样例 序列 上升 最长

最长上升子序列

题目描述

这是一个简单的动规板子题。

给出一个由 \(n(n\le 5000)\) 个不超过 \(10^6\) 的正整数组成的序列。请输出这个序列的最长上升子序列的长度。

最长上升子序列是指,从原序列中按顺序取出一些数字排在一起,这些数字是逐渐增大的。

输入格式

第一行,一个整数 \(n\),表示序列长度。

第二行有 \(n\) 个整数,表示这个序列。

输出格式

一个整数表示答案。

样例 #1

样例输入 #1

6
1 2 4 1 3 4

样例输出 #1

4

提示

分别取出 \(1\)、\(2\)、\(3\)、\(4\) 即可。

代码如下

using namespace std;
const int N=1e5+10;
int a[N];
int dp[N];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++){
		dp[i]=1;
		for(int j=1;j<=i;j++){
			if(a[j]<a[i]){
				dp[i]=max(dp[i],dp[j]+1);
			}
		}
	}
	int ans=0;
	for(int i=1;i<=n;i++)ans=max(ans,dp[i]);
	cout<<ans;
	return 0;
} 

标签:int,B3637,样例,序列,上升,最长
From: https://www.cnblogs.com/yufan1102/p/17840994.html

相关文章

  • c5w3_序列模型和注意力机制
    序列模型和注意力机制Seq2Seq模型Seq2Seq(Sequence-to-Sequence)模型能够应用与机器翻译、语音识别等各种序列到序列的转换问题。一个Seq2Seq模型包括编码器(Encoder)和解码器(Decoder)两部分,它们通常是两个不同的RNN。如下图所示,将编码器的输出作为解码器的输入,由解码器负责翻译出正......
  • c5w1_循环序列模型
    循环序列模型自然语言和音频都是前后相关联的数据,对于这些前后相关联的序列数据通过循环神经网络(RecurrentNeuralNetwork,RNN)来进行处理。使用RNN收i先的应用有下图所示的例子:上图中所有的这些问题都可以通过有监督学习,通过输入给定的标签数据\((X,Y)\)作为训练集进行学习。......
  • AcWing 1017. 怪盗基德的滑翔翼——最长上升子序列
    最长上升子序列1、\(O(n^{2})\)简单DP做法\[dp[i]=\max_{h[j]<h[i]}[dp[j]+1]\]#include<bits/stdc++.h>usingnamespacestd;constintN=105;inth[N];intdp[N];intmain(){intT;cin>>T;while(T--){intn;cin>......
  • 【动态规划】最长公共子序列问题
    问题描述:字符串s1=BDCABC,字符串s2=ABCBDAB;求它们的最长公共子序列。定义dp[i][j]:s1的前i个字符串和s2前j个字符串的最长公共子序列长度。以下讨论三种情况:s1[i]==s2[j]s1的第i个字符等于s2的第j个字符dp[i][j]=dp[i-1][j-1]+1;......
  • 使用亿图画时序图(序列图)
    1、打开亿图,新建页面,软件和数据库→软件→UML图,双击打开 2、在打开的绘图页面,点击“UML序列”,即可画时序图(序列图)  3、常用的几个图标 ......
  • PHP序列化和反序列化
    将一个对象转化为字符称为序列化 调用serialize方法其他序列化格式 反序列化的过程可以修改类中的值 ......
  • 力扣2760. 最长奇偶子数组
    给你一个下标从 0 开始的整数数组 nums 和一个整数 threshold 。请你从 nums 的子数组中找出以下标 l 开头、下标 r 结尾 (0<=l<=r<nums.length) 且满足以下条件的 最长子数组 :nums[l]%2==0对于范围 [l,r-1] 内的所有下标 i ,nums[i]%......
  • 机器学习算法原理实现——HMM生成序列和维特比算法
    【HMM基本概念】隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,用于描述一个含有未知参数(隐状态)的马尔可夫过程。在HMM中,我们不能直接观察到状态,但可以观察到每个状态产生的一些相关数据(观测值)。HMM的目标是,给定观测序列,估计出最可能的状态序列。HMM的基本假设有两个(见例子......
  • C/C++ 实现获取硬盘序列号
    获取硬盘的序列号、型号和固件版本号,此类功能通常用于做硬盘绑定或硬件验证操作,通过使用WindowsAPI的DeviceIoControl函数与物理硬盘驱动程序进行通信,发送ATA命令来获取硬盘的信息。以下是该程序的主要功能和流程:定义常量IDE_ATAPI_IDENTIFY和IDE_ATA_IDENTIFY分别表示读取......
  • 通过时序和上下文对比学习时间序列表征《Time-Series Representation Learning via Te
    现在是2023年11月14日的22:15,肝不动了,要不先回寝室吧,明天把这篇看了,然后把文档写了。OK,明天的ToDoList.现在是2023年11月15日的10:35,继续。论文:Time-SeriesRepresentationLearningviaTemporalandContextualContrasting(IJCAI官网版本PDF)或者是:Time-SeriesRepresenta......