#P2432. 「LOJ」 可持久化最长不降子序列

「LOJ」 可持久化最长不降子序列

题目描述

现给出两个操作:

  1. addadd 操作: 在序列末尾加上一个非负整数 xx

  2. backback 操作: 给出 xx ,回到第 xx 次 addadd 操作之后的版本 ,将第 x x 次 add add 操作之后的版本全部删除

给出 nn,表示操作的总次数

每一次操作后,输出当前版本的最长不降子序列的长度 lenlen

输入格式

第一行一个整数 n n 。

之后的 n n 行,每行 2 2 个整数,表示 opt opt 、x x 。

当 opt opt 为 0 0 时 ,表示 add add 操作

当 opt opt 为 1 1 时 ,表示 back back 操作

输出格式

共 n n 行,表示每一次操作后的最长不降子序列的长度 len len

样例

5
0 2
0 0
1 0
1 0
0 5
1
1
0
0
1

第一次操作后,序列为[2]

第二次操作后,序列为[2,0]

第三次操作后,序列为[空]

第四次操作后,序列为[空]

第五次操作后,序列为[5]

数据范围与提示

对于数据点编号 1−41-4 ,n=1000 n = 1000 ;

对于数据点编号 5−65-6 ,n=10000,xi≤10000 n = 10000, x_i \le 10000;

对于数据点编号 7−107-10 ,n=499998 n = 499998 ;

对于数据点编号 10−1110-11 ,n=499999 n = 499999 ,保证仅有 add add 操作;

对于数据点编号 12−2012-20 ,n=500000 n = 500000 ;

对于 100% 100\% 的数据,满足 xi≤10000000 x_i \le 10000000

数据保证对于每一次 back back 操作的 xi x_i ,当前版本 k k 均满足 xi≤k x_i \le k