#L6088. 可持久化最长不降子序列

    ID: 5523 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>动态规划数据结构版本控制树状数组线段树原创DP

可持久化最长不降子序列

题目描述

现给出两个操作:

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

back 操作:给出 xx,回到第 xx 次 add 操作之后的版本,将第 xx 次 add 操作之后的版本全部删除

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

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

输入格式

第一行一个整数 nn

之后的 nn 行,每行 2 个整数,表示 optoptxx

optopt00 时,表示 add 操作

optopt11 时,表示 back 操作

输出格式

nn 行,表示每一次操作后的最长不降子序列的长度 lenlen

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

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

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

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

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

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

数据规模与约定

对于数据点编号 11-44n=1000n = 1000

对于数据点编号 55-66n=10000n = 10000xi10000x_i \le 10000

对于数据点编号 77-1010n=499998n = 499998

对于数据点编号 1010-1111n=499999n = 499999,保证仅有 add 操作

对于数据点编号 1212-2020n=500000n = 500000

对于 100100% 的数据,满足 xi10000000x_i \le 10000000

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