TJOI2013D2T1 · 最长上升子序列

博客给出一个算法问题,给定初始为空的序列,将1到N的数字依次插入特定位置,每次插入后求序列的最长上升子序列长度。还给出了数据范围、输入输出要求及样例,时间限制为1s。
  • 时间限制:1s

题目描述

给定一个序列,初始为空。现在我们将\(1\)\(N\)的数字插入到序列中,每次将一个数字插入到一个特定的位置。每插入一个数字,我们都想知道此时序列的最长上升子序列长度是多少。

数据范围

对于\(30\%\)的数据 \(0\leq N \leq 1000\)

对于\(100\%\)的数据 \(0\leq N \leq 100000\)

输入

第一行是一个整数\(N\),表示我们要将\(1\)\(N\)插入序列中。接下来是\(N\)个数字,第\(k\)个数字\(X_{k}\)表示我们将\(k\)插入到位置\(X_{k}\)\((0 \leq X_{k} \leq k − 1,\ 1 \leq k \leq N)\)

输出

输出\(N\)行,第\(i\)行表示将\(i\)插入\(X_{i}\)位置后序列的最长上升子序列长度是多少。

样例输入1

3
0 0 2

样例输出1

1
1
2

转载于:https://www.cnblogs.com/justlikeoldtimes/p/10940025.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值