#P12551. [UOI 2025] Simple Task

    ID: 14116 远端评测题 1500ms 256MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>2025Special Judge分类讨论UOI(乌克兰)

[UOI 2025] Simple Task

题目描述

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

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

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

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

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

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

输入格式

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

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

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

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

输出格式

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

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

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

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

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
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 分):T≤20T \leq 20,k=1k=1;
  • (55 分):n≤4n \leq 4,所有 1≤i≤n1\le i\le n 满足 ai≤104a_i \leq 10^4;
  • (88 分):T≤20T \leq 20,n≤10n \leq 10,所有 1≤i≤n1\le i\le n 满足 ai≤104a_i \leq 10^4;
  • (44 分):nn 为偶数,所有 1≤i≤n1\le i\le n 满足 ai>2a_i > 2;
  • (1818 分):nn 为奇数,所有 1≤i≤n1\le i\le n 满足 ai>2a_i > 2;
  • (1010 分):2⋅k≥n+12\cdot k \ge n + 1;
  • (2929 分):nn 为偶数;
  • (2424 分):nn 为奇数。

翻译由 DeepSeek V3 完成