3692: 最长上升子序列
内存限制:256 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
维护一个序列,使它可以进行下面两种操作:
1.在末尾添加一个数字x。 2.将整个序列变成第x次操作后的样子。
在每次操作后,输出当前序列的最长上升子序列的长度。序列初始时为空。
输入
第一行有一个正整数n,表示操作个数。接下来n行每行有两个整数op,x。如果op为0,则表示添加x这个数字;如果op为1,则表示回到第x次操作之后。
输出
对于每次操作,输出一个答案,表示当前最长上升子序列的长度。
样例输入 复制
5
0 2
0 0
1 0
1 0
0 5
样例输出 复制
1
1
0
0
1
提示
【样例解释】
第一次操作后,序列为 2。
第二次操作后,序列为2 0。
第三次操作后,序列为(空)。
第四次操作后,序列为(空)。
第五次操作后,序列为 5。
【数据范围与约定】
30%的数据:n≤1000。
另外20%的数据没有第二个的操作。
80%的数据:n≤200000。
100%的数据:n<=500000且所有输入的数字都是长整型范围内的非负整数。