CF1064B Equations of Mathematical Magic

    • 169通过
    • 202提交
  • 题目来源 CodeForces 1064B
  • 评测方式 RemoteJudge
  • 标签
  • 难度 普及+/提高
  • 时空限制 1000ms / 256MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题意翻译

    题目描述

    给出 $ a $,判断方程 $ a-(a \oplus x)-x=0 $ 的解的个数。(其中 $ \oplus $ 为异或)

    输入格式

    第一行是数据组数 $ t $,接下来 $ t $ 行每行输入一个整数 $ a $。

    输出格式

    对于每组数据,输出对应的答案。

    题目描述

    Colossal! — exclaimed Hawk-nose. — A programmer! That's exactly what we are looking for.

    Arkadi and Boris Strugatsky. Monday starts on Saturday

    Reading the book "Equations of Mathematical Magic" Roman Oira-Oira and Cristobal Junta found an interesting equation: $ a - (a \oplus x) - x = 0 $ for some given $ a $ , where $ \oplus $ stands for a bitwise exclusive or (XOR) of two integers (this operation is denoted as ^ or xor in many modern programming languages). Oira-Oira quickly found some $ x $ , which is the solution of the equation, but Cristobal Junta decided that Oira-Oira's result is not interesting enough, so he asked his colleague how many non-negative solutions of this equation exist. This task turned out to be too difficult for Oira-Oira, so he asks you to help.

    输入输出格式

    输入格式:

    Each test contains several possible values of $ a $ and your task is to find the number of equation's solution for each of them. The first line contains an integer $ t $ ( $ 1 \le t \le 1000 $ ) — the number of these values.

    The following $ t $ lines contain the values of parameter $ a $ , each value is an integer from $ 0 $ to $ 2^{30} - 1 $ inclusive.

    输出格式:

    For each value of $ a $ print exactly one integer — the number of non-negative solutions of the equation for the given value of the parameter. Print answers in the same order as values of $ a $ appear in the input.

    One can show that the number of solutions is always finite.

    输入输出样例

    输入样例#1: 复制
    3
    0
    2
    1073741823
    
    输出样例#1: 复制
    1
    2
    1073741824
    

    说明

    Let's define the bitwise exclusive OR (XOR) operation. Given two integers $ x $ and $ y $ , consider their binary representations (possibly with leading zeroes): $ x_k \dots x_2 x_1 x_0 $ and $ y_k \dots y_2 y_1 y_0 $ . Here, $ x_i $ is the $ i $ -th bit of the number $ x $ and $ y_i $ is the $ i $ -th bit of the number $ y $ . Let $ r = x \oplus y $ be the result of the XOR operation of $ x $ and $ y $ . Then $ r $ is defined as $ r_k \dots r_2 r_1 r_0 $ where:

    $ $$$ r_i = \left\{ \begin{aligned} 1, ~ \text{if} ~ x_i \ne y_i \\ 0, ~ \text{if} ~ x_i = y_i \end{aligned} \right. $ $ </p><p>For the first value of the parameter, only $ x = 0 $ is a solution of the equation.</p><p>For the second value of the parameter, solutions are $ x = 0 $ and $ x = 2$$$.

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。