ABC422D.D - Least Unbalanced

传统题 时间 2000 ms 内存 256 MiB 6 尝试 2 已通过 1 标签

D - Least Unbalanced

得分:400400

问题陈述

NN为正整数。定义长度为2N2^N的非负整数序列A=(A_1,A_2,,A_2N)A=(A\_1, A\_2, \dots, A\_{2^N})不平衡为通过以下操作得到的非负整数值:

  • 最初,设定为X=0X=0
  • NN次执行以下一系列操作:
    • XX更新为max(X,max(A)min(A))\max(X, \max(A) - \min(A)),其中max(A)\max(A)min(A)\min(A)分别表示序列AA的最大值和最小值。
    • 通过将起始元素的两乘二配对并排列其和,形成一个长度为一半的新序列。即集合$A \gets (A\_1 + A\_2, A\_3 + A\_4, \dots, A\_{\vert A \vert - 1} + A\_{\vert A \vert})$。
  • XX的最终值即为不平衡。

例如,当N=2,A=(6,8,3,5)N=2, A=(6, 8, 3, 5)时,不平衡通过以下步骤66

  • 起初是X=0X=0
  • 第一系列操作如下:
    • 更新XXmax(X,max(A)min(A))=max(0,83)=5\max(X, \max(A) - \min(A)) = \max(0, 8 - 3) = 5
    • AA设为(6+8,3+5)=(14,8)(6+8, 3+5) = (14, 8)
  • 第二系列操作如下:
    • 更新XXmax(X,max(A)min(A))=max(5,148)=6\max(X, \max(A) - \min(A)) = \max(5, 14 - 8) = 6
    • AA设为(14+8)=(22)(14 + 8) = (22)
  • 终于,好X=6X=6

给出一个非负整数KK。在所有长度为2N2^N和为KK的非负整数序列中,构造一个最小化不平衡的序列。

限制

  • 1N201 \leq N \leq 20
  • 0K1090 \leq K \leq 10^9
  • NNKK 是整数。

输入

输入格式为标准输入:

$N$ $K$

输出

B=(B_1,B_2,,B_2N)B=(B\_1,B\_2,\dots,B\_{2^N})为一个不平衡最小的序列。设UUBB的不平衡。输出如下格式的解:

$U$
$B_1$ $B_2$ $\dots$ $B_{2^N}$

如果有多个解法,任何一个都被视为正确。


(5,6)(5, 6) 是一个不平衡11的序列,是满足该条件的序列之间的最小不平衡。


样例

1 11
1
5 6
3 56
0
7 7 7 7 7 7 7 7

在线编程 IDE

建议全屏模式获得最佳体验