#P12463. [UOI 2025] Simple Task

[UOI 2025] Simple Task

题目描述

我们称一个非空的正整数序列为奇异序列,如果其元素之和是一个质数。

给定一个长度为 nn 的数组 aa其中的元素均为质数。同时给定一个整数 kk

请将数组 aa 分割成 kk非空子序列1^1,使得:

  • 数组 aa 的每个元素恰好属于其中一个子序列;
  • 在这些子序列中,奇异序列的数量尽可能少。

本题每个测试包含多组输入数据,你需要分别独立处理每组数据。

注意:本题没有"无额外限制"的评分 Subtask。

输入格式

第一行包含一个整数 TT (1T105)(1\le T\le 10^5) —— 输入数据的组数。接下来是各组数据的描述。

每组数据的第一行包含两个整数 nn, kk (1kn105)(1 \le k \le n \le 10^5) —— 数组 aa 的长度和需要分割成的子序列数量。

每组数据的第二行包含 nn 个质数 a1,a2,,ana_1, a_2, \ldots, a_n (2ai105,aiai+1)(2\le a_i\le 10^5, a_i\le a_{i+1}) —— 数组 aa 的元素。

保证单个测试中所有数据的 nn 之和不超过 10510^5

输出格式

对于每组数据,按照以下格式输出最优分割方案:

  • 第一行输出一个整数 mm —— 分割后得到的奇异序列数量;
  • 接下来的 kk 行,每行输出整数 sis_ib1,b2,,bsib_1, b_2, \ldots, b_{s_i} (1sin)(1\le s_i\le n) —— 对应子序列的元素个数及其元素。

子序列及其元素的输出顺序可以任意。

如果存在多个正确答案,输出任意一个即可。

输入输出样例 #1

输入 #1

4
3 1
5 5 13
4 2
2 3 5 7
5 3
3 3 5 5 13
6 5
2 2 2 3 3 3

输出 #1

1
3 13 5 5
0
2 2 7
2 3 5
1
1 13
2 3 3
2 5 5
4
1 2
1 2
1 2
1 3
2 3 3

说明/提示

1^1 序列 cc 称为数组 bb 的子序列,如果可以通过从数组 bb 中删除若干元素(可能为零个)来得到序列 cc

评分标准

  • 22 分):T20T \leq 20k=1k=1
  • 55 分):n4n \leq 4,所有 1in1\le i\le n 满足 ai104a_i \leq 10^4
  • 88 分):T20T \leq 20n10n \leq 10,所有 1in1\le i\le n 满足 ai104a_i \leq 10^4
  • 44 分):nn 为偶数,所有 1in1\le i\le n 满足 ai>2a_i > 2
  • 1818 分):nn 为奇数,所有 1in1\le i\le n 满足 ai>2a_i > 2
  • 1010 分):2kn+12\cdot k \ge n + 1
  • 2929 分):nn 为偶数;
  • 2424 分):nn 为奇数。