CF1174D.Ehab and the Expected XOR Problem

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Given two integers nn and xx, construct an array that satisfies the following conditions:

  • for any element aia_i in the array, 1≤ai<2n1 \le a_i \lt 2^n;
  • there is no non-empty subsegment with bitwise XOR equal to 00 or xx,
  • its length ll should be maximized.

A sequence bb is a subsegment of a sequence aa if bb can be obtained from aa by deletion of several (possibly, zero or all) elements from the beginning and several (possibly, zero or all) elements from the end.

给定两个整数 nn 和 xx,构造一个满足以下条件的数组:

  • 数组中任意元素 aia_i 满足 1≤ai<2n1 \le a_i \lt 2^n;
  • 不存在任何非空子段,其按位异或(XOR)结果等于 00 或 xx;
  • 该数组的长度 ll 应尽可能大。

若序列 bb 可通过从序列 aa 的开头删除若干(可能为零个或全部)元素、并从结尾删除若干(可能为零个或全部)元素而得到,则称 bb 是 aa 的一个子段。

输入格式

The only line contains two integers nn and xx (1≤n≤181 \le n \le 18, 1≤x<2181 \le x \lt 2^{18}).

唯一一行包含两个整数 nn 和 xx(1≤n≤181 \le n \le 18,1≤x<2181 \le x \lt 2^{18})。

输出格式

The first line should contain the length of the array ll.

If ll is positive, the second line should contain ll space-separated integers a1a_1, a2a_2, …\dots, ala_l (1≤ai<2n1 \le a_i \lt 2^n) — the elements of the array aa.

If there are multiple solutions, print any of them.

第一行应包含数组 ll 的长度。

若 ll 为正数,则第二行应包含 ll 个以空格分隔的整数 a1a_1, a2a_2, …\dots, ala_l(满足 1≤ai<2n1 \le a_i \lt 2^n)——即数组 aa 的元素。

若存在多个解,输出任意一个即可。

输入输出样例

  • 输入#1

    3 5

    输出#1

    3
    6 1 3
  • 输入#2

    2 4

    输出#2

    3
    1 3 1
  • 输入#3

    1 1

    输出#3

    0

说明/提示

In the first example, the bitwise XOR of the subsegments are 6,7,4,1,2,3{6,7,4,1,2,3}.

在第一个例子中,子区间的按位异或值为 6,7,4,1,2,3{6,7,4,1,2,3}。

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

首页