AT_ttpc2023_j.Set Construction

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定整数 N≥2N \geq 2,以及整数 MM,满足 2≤M≤N(N+1)22 \leq M \leq \frac{N(N+1)}{2}。请构造一个由非负整数组成的集合 AA,使其满足以下所有条件:

  • 0∈A0 \in A
  • 2N−1∈A2^N - 1 \in A
  • 集合 AA 的所有元素都是 00 以上,2N−12^N - 1 以下的非负整数(16:08 修正)
  • 若 x,y∈Ax, y \in A,则 x AND y∈Ax ~\mathrm{AND}~ y \in A
  • 若 x,y∈Ax, y \in A,则 x OR y∈Ax ~\mathrm{OR}~ y \in A
  • 集合 AA 的元素个数 ∣A∣=M|A| = M

给定 TT 组测试数据,请分别回答每组数据。

其中,AND\mathrm{AND} 表示非负整数 n,mn, m 的按位与操作 n AND mn ~\mathrm{AND}~ m,其定义如下:

  • n AND mn ~\mathrm{AND}~ m 的二进制表示在 2k (k≥0)2^k~(k \geq 0) 位上的值,等于 n,mn, m 在该位上若均为 11 时为 11,否则为 00。

OR\mathrm{OR} 表示非负整数 n,mn, m 的按位或操作 n OR mn ~\mathrm{OR}~ m,其定义如下:

  • n OR mn ~\mathrm{OR}~ m 的二进制表示在 2k (k≥0)2^k~(k \geq 0) 位上的值,等于 n,mn, m 在该位上任意一个为 11 时为 11,否则为 00。

输入格式

输入通过标准输入给出,格式如下:

TT case1\text{case}_1 case2\text{case}_2 ⋮\vdots caseT\text{case}_T

其中,casei (1≤i≤T)\text{case}_i~(1 \leq i \leq T) 表示第 ii 组测试数据。每组测试数据格式如下:

NN MM

输出格式

输出共 TT 行。

第 ii 行(1≤i≤T1 \leq i \leq T)输出第 ii 组测试数据中,满足所有条件的集合 AA 的 MM 个不同非负整数 x1,x2,…,xMx_1, x_2, \dots, x_M,格式如下:

x1x_1 x2x_2 ⋯\cdots xMx_M

$ x_1, x_2, \dots, x_M $可以不按升序输出。

保证在本题约束下答案一定存在。

输入输出样例

  • 输入#1

    3
    3 5
    4 8
    60 2

    输出#1

    0 1 3 5 7
    0 1 3 7 8 9 11 15
    0 1152921504606846975

说明/提示

部分分数

  • 若你仅解决了 N≤5N \leq 5 的测试数据,则可获得 2525 分。

样例说明 1

在第 11 组测试数据中,设 A={0,1,3,5,7}A = \{0, 1, 3, 5, 7\},满足题目所有条件。例如,3 AND 5=1∈A3 ~\mathrm{AND}~ 5 = 1 \in A,3 OR 5=7∈A3 ~\mathrm{OR}~ 5 = 7 \in A。

任意满足条件的 AA 都可作为输出,元素无需升序。

例如,以下输出同样成立:

7 1 4 0 5

以下输出不合法,因为 0∉A0 \not\in A:

1 2 3 5 7

以下输出也不合法,因为 3,5∈A3, 5 \in A 但 3 AND 5=1∉A3~\mathrm{AND}~5 = 1 \not\in A:

0 3 4 5 7

注意答案须为集合,不允许有重复元素。

7 7 7 0 0

对于第 33 组测试数据,输出可能超出 32 位整数范围。入出样例不必满足部分分数的限制。

约束条件

  • 1≤T≤301 \leq T \leq 30
  • 2≤N≤602 \leq N \leq 60
  • 2≤M≤N(N+1)22 \leq M \leq \frac{N(N+1)}{2}
  • 所有输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页