2874.最长不下降子序列-夏令营

通过数:30提交数:70学校:复旦大学保研机试真题 题目列表 标签
题目描述 给定一个初始为空的动态数组,支持以下两种操作: 1. 添加操作:在数组末尾添加一个整数 2. 删除操作:删除数组末尾的元素 每次操作后,需要输出当前数组的最长不下降子序列(Longest Non-decreasing Subsequence,简称LNDS)的长度。 什么是不下降子序列? 不下降子序列是指从原序列中选出的一个子序列(元素在原序列中不一定连续),满足其中的元素按顺序不下降(即每个元素都不小于前一个元素)。 例如,对于序列 [5, 3, 4, 1, 2],最长不下降子序列可以是 [3, 4] 或 [1, 2],长度为 2。 操作特点: 数组初始为空 只在末尾进行添加和删除操作 每次操作后需要立即输出当前数组的LNDS长度 保证删除操作时数组非空 输入格式 第一行:一个整数 ${q}$(${1 \leq q \leq 10^5}$),表示操作次数 接下来 ${q}$ 行:每行一个操作,格式为: ${1\ x}$:表示添加操作,${x}$ 为要添加的整数(${1 \leq x \leq 10^9}$) ${2}$:表示删除操作 输出格式 对于每个操作(包括添加和删除),输出一行,表示操作后最长不下降子序列的长度 数据范围 ${1 \leq q \leq 10^5}$ ${1 \leq x \leq 10^9}$ 输入样例1 6 1 5 1 3 1 4 1 1 1 2 1 6 输出样例1 1 1 2 2 2 3
C
补全
点击调试按钮即可调试代码。

点击提交按钮即可提交代码。