CF843A Sorting by Subsequences
题目描述
给你一个由不同整数组成的序列$a_{1},a_{2},...,a_{n}$
。要求将这个序列分成最多的子序列,使这些子序列按升序排序后,总体序列也成为一个升序序列。
在对子序列进行排序的过程中,只是对子序列中的元素进行升序排序,不在子序列中的元素不会改变它们的位置。
序列中的每个元素都只能且必须在所有子序列中出现一次。(译者:子序列不重合)
输入格式
第一行包括一个整数N表示序列的长度$n(1
输出格式
第一行输出整数$k$ ,表示可以分成最多的子序列数量。
接下来$k$ 行,每行包括:该子串元素个数$c_{i}$ ,和$c_{i}$ 个整数$l_{1},l_{2},...,l_{c_{i}}$ 表示子串元素。
可以以任何顺序输出所有子串,但要保证原序列中所有元素都只出现过一次。
如果有多种解法,则输出任意一种。
感谢@二元长天笑 提供的翻译
说明/提示
In the first sample output:
After sorting the first subsequence we will get sequence $ 1 2 3 6 5 4 $ .
Sorting the second subsequence changes nothing.
After sorting the third subsequence we will get sequence $ 1 2 3 4 5 6 $ .
Sorting the last subsequence changes nothing.