P12453 [INOI Team Selection 2021] Lisdeque
题目描述
乌龟大师有 $n$ 个双端队列,这些队列中的所有元素都是互不相同的。
熊猫想要成为神龙大侠,需要利用这些双端队列构造出最强大的数组。
在每一轮操作中,他可以选择一个非空的双端队列(如果存在的话),然后选择其队首或队尾元素,将该元素添加到数组的末尾,并从双端队列中移除该元素。请帮助他找出能够构造出的最强大数组。
一个数组的强大程度由其最长递增子序列(LIS)的长度决定。
输入格式
输入的第一行包含一个整数 $n$,表示乌龟大师拥有的双端队列数量。
接下来的 $n$ 行中,第 $i$ 行首先是一个整数 $k_i$,表示第 $i$ 个双端队列的大小,随后是 $k_i$ 个整数,表示该双端队列中的元素。
输出格式
输出的第一行应打印能够获得的最大 LIS 长度,第二行打印构造出的数组。如果存在多个可能的解,可以输出其中任意一个。
说明/提示
### 数据范围
- $1 \leq n \leq 200\,000$
- $1 \leq k_i \leq 200\,000$
- $\sum_{i=1}^{n} k_i \leq 200\,000$
- 保证所有元素互不相同,即 $a_{i_1,j_1} \neq a_{i_2,j_2}$
- $a_{i,j} \leq 10^9$
### 子任务
| 子任务 | 分值 | 限制条件 |
| :---: | :---: | :---: |
| 1 | 50 | $\sum_{i=1}^{n} k_{i} \leq 2000$ |
| 2 | 50 | 无额外限制 |
翻译由 DeepSeek V3 完成