#P11883. [RMI 2024] 信号 / Signals

    ID: 11548 远端评测题 1500ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>2024Special JudgeRMI(罗马尼亚)

[RMI 2024] 信号 / Signals

题目描述

给定长度为 nn 的非负整数序列 a1,a2,,ana_1,a_2,\ldots,a_n 和正整数 kk

你需要构造一个长度为 nn 的非负整数序列 b1,b2,,bnb_1,b_2,\ldots,b_n,满足:

  • 1in\forall 1\le i\le nbi[0,2k)b_i\in [0, 2^k)
  • 1in\forall 1\le i\le npopcount(bibimodn+1)=ai\operatorname{popcount}(b_i \oplus b_{i\bmod n+1})=a_i

或者报告不存在合法解。

这里,\oplus 代表按位异或运算,popcount(n)\operatorname{popcount}(n) 表示非负整数 nn 二进制表示下 11 的个数。

特别地,如果你正确地判断了解的存在性,也可以得到部分分,见【计分方式】。

输入格式

本题单个测试点内含有多组测试数据。

第一行,正整数 TT,表示测试数据组数。

接下来描述 TT 组测试数据:

每组数据第一行,两个正整数 n,kn,k

每组数据第二行,nn 个非负整数 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

对于每组数据,如果无解,输出一行一个 NO\texttt{NO}

否则输出 (n+1)(n+1) 行,第一行输出 YES\texttt{YES},接下来 nn 行,第 ii 行一个长度为 kk01\texttt{01} 串,表示 bib_i 二进制表示下的低 kk 位。

输入数据 1

3
5 3
2 1 3 0 2
10 6
3 2 1 4 3 2 1 3 2 1
2 3
2 1

输出数据 1

YES
000
110
010
101
101
YES
000000
111000
111110
111111
000011
111011
011111
111111
000111
000001
NO

提示

数据范围

对于 100%100\% 的数据,保证:

  • 1T1051\le T\le 10^5
  • 2n2\le n
  • 1k1\le k
  • 2nk,nk5×1062\le nk,\sum nk\le 5\times 10^6
  • 0aik0\le a_i\le k

  • Subtask 0 (0 pts)\text{Subtask 0 (0 pts)}:样例。
  • Subtask 1 (5 pts)\text{Subtask 1 (5 pts)}T,n,k5T,n,k\le 5
  • Subtask 2 (2 pts)\text{Subtask 2 (2 pts)}k=1k=1
  • Subtask 3 (8 pts)\text{Subtask 3 (8 pts)}k=2k=2
  • Subtask 4 (32 pts)\text{Subtask 4 (32 pts)}aik/2a_i\le k/2
  • Subtask 5 (24 pts)\text{Subtask 5 (24 pts)}n5×104n\le 5\times 10^4k20k\le 20
  • Subtask 6 (29 pts)\text{Subtask 6 (29 pts)}:无额外约束。

计分方式

如果你正确地判断了解的存在性,但是构造的解不正确,你可以获得 50%50\% 的分数。

如果你只想获得 50%50\% 的分数,也要保证输出格式正确,否则将无法得分。

每个子任务的分数为其中每个测试点分数的最小值。