#P16616. [GCPC2026]garbled garden
[GCPC2026]garbled garden
题目描述
劳累一天后,Tessa 回到家,发现丈夫正得意地站在门口。他兴奋地宣布,自己已经把她的所有花都种进了花园。
然而,丈夫虽然确实把所有花都沿着花园边缘种好了,排列顺序却完全错误。玫瑰出现在本应种兰花的位置,风信子、大丽花和菊花也被胡乱夹在绣球花之间。
Tessa 之前已经给每朵花系上了数字标签。在正确的排列中,从左到右的标签应当是非递减的。同一种花的标签相同,因为同一种花内部的相对顺序并不重要。
花朵还很幼小,不能随意全部挖出后重新排列。Tessa 每次只能执行如下操作:
- 选择一个整数 ,以及 个互不相同的位置 ;
- 先挖出位置 的花,将其暂时放进花盆,此时位置 为空;
- 对于 ,将位置 的花移动到前一朵花留下的空位 ;
- 最后,将花盆中的花种到剩余的空位 。
由于花朵十分脆弱,同一朵花在一次操作中至多被使用一次,因此 必须互不相同。
请确定将所有标签排列为非递减顺序所需的最少操作次数,并输出一种达到最少次数的操作方案。

样例 2 的一种操作过程
图 G.1:第二组样例答案的操作过程。
输入格式
第一行包含一个整数 (),表示花朵数量。
第二行包含 个整数 (),其中 表示位置 上花朵的标签。
输出格式
第一行输出最少操作次数 ()。可以证明,答案一定存在,并且至多需要 次操作。
随后依次输出这 次操作。对于每次操作,输出:
- 一行一个整数 (),表示本次移动的花朵数量;
- 下一行输出 个互不相同的整数 (),顺序应与题目描述中的操作顺序一致。
只要求操作次数最少,不要求所有操作中移动的花朵总数最少。
如果存在多种最优方案,可以输出任意一种。
样例 1
输入
3
2 3 1
输出
1
3
1 3 2
样例 2
输入
5
3 1 3 5 1
输出
1
3
4 1 5
样例 3
输入
4
2 1 4 3
输出
2
4
1 2 3 4
2
2 4