P16326 星降る海

题目背景

![](https://cdn.luogu.com.cn/upload/image_hosting/q3hd0pkn.png)

题目描述

给定一个长为 $n$ 的颜色序列 $a$ 和一个正整数 $k$。你可以执行以下操作任意次(可以为 $0$ 次)。 - 选择一个 $\{1,2,\ldots n\}$ 的子集 $S$ 和颜色 $c$ 并将 $S$ 中所有位置的颜色变成 $c$。 求至少需要几次操作使得极长颜色段个数**恰好**等于 $k$,并构造一组解。 如果存在多组合法的解,你可以输出任意一组。

输入格式

第一行两个正整数 $n,k$。 第二行 $n$ 个正整数 $a_i$,表示颜色序列。

输出格式

第一行输出最小操作次数 $t$。 接下来 $t$ 行,按顺序输出每次操作的方案。每行第一个整数 $s_i$ 表示你的集合大小,接下来 $s_i$ 个互不相同的 $1$ 到 $n$ 的整数表示你选择的集合,最后输出一个 $1$ 到 $n$ 的整数 $c$ 表示更改的颜色。

说明/提示

**【数据范围】** **本题使用子任务捆绑**。 对于所有测试数据,$1\le k \le n \le 10^5$,$1\le a_i \le n$。 |子任务编号|$n\le$|特殊性质|分值| |:-:|:-:|:-:|:-:| |$1$|$6$|无|$20$| |$2$|$10^5$|A|$20$| |$3$|$10^5$|B|$20$| |$4$|$10^5$|无|$40$| - 特殊性质 A:保证 $k=1$。 - 特殊性质 B:保证 $k=n$。