『FLA - I』冲云霄

Luogu
IDLGP10835
Time1000ms
Memory512MB
DifficultyP2
数学洛谷原创O2优化位运算洛谷月赛
给定**整数** $n$ 和 $m$,判断是否存在满足下列条件的数列 $a$。本题中数列元素的下标从 $1$ 开始。 - 数列 $a$ 的长度为 $m$,数列 $a$ 的每一项都为**正整数**。 - $a_1 \oplus a_2 \oplus \cdots \oplus a_m = n$,即数列 $a$ 的所有项异或得到的结果等于 $n$。 - 数列 $a$ 中所有元素的值都相同。 ## Input **本题有多组测试数据。** 第一行输入一个正整数 $T$,表示测试数据组数。 对于每组测试数据,输入一行两个整数 $n,m$。 ## Output 对于每组测试数据,输出一行一个字符串。如果存在满足条件的数列 $a$,输出 `Yes`;否则输出 `No`。 [samples] ## Background 住在呼和浩特的小 R 很久以前就学会了异或。异或使用符号 $\oplus$ 表示,在 C++ 中可用符号 `^` 表示。非负整数 $x$ 和 $y$ 的异或是指对它们二进制表示中的每一位进行如下运算得到的结果: - 若 $x$ 和 $y$ 的第 $k$ 个二进制位相同,结果的第 $k$ 个二进制位为 $0$; - 若 $x$ 和 $y$ 的第 $k$ 个二进制位不同,结果的第 $k$ 个二进制位为 $1$。 使用 $(X)_{10}$ 表示十进制数 $X$,$(Y)_2$ 表示二进制数 $Y$,因为 $(12)_{10}=(1100)_2$,$(10)_{10}=(1010)_2$,所以 $(12)_{10} \oplus (10)_{10}=(1100)_2 \oplus (1010)_2=(0110)_2=(6)_{10}$。 住在银川的小 F 想用这道题难倒小 R 但失败了,现在小 F 又想用这道题为难你,不能让他的阴谋得逞! ## Note **「样例解释 #1」** 对于第一组测试数据,数列 $a$ 可以是 $[3,3,3]$,此时 $a_1 \oplus a_2 \oplus a_3 = 3 \oplus 3 \oplus 3 = 3$。 对于第二组测试数据,数列 $a$ 可以是 $[2,2,2,2,2]$,此时 $a_1 \oplus a_2 \oplus a_3 \oplus a_4 \oplus a_5 = 2 \oplus 2 \oplus 2 \oplus 2 \oplus 2 = 2$。 对于第三组和第四组测试数据,可以证明不存在满足条件的数列。 **「数据范围」** |测试点编号|$T \leq$|$n \leq$|$m \leq$| |:-:|:-:|:-:|:-:| |$1 \sim 2$|$5$|$0$|$10^9$| |$3 \sim 4$|$5$|$10^9$|$3$| |$5$|$10^5$|$10^9$|$10^9$| 对于所有测试数据,$1 \leq T \leq 10^5$,$0 \leq n \leq 10^9$,$2 \leq m \leq 10^9$。
Samples
Input #1
4
3 3
2 5
0 3
1 4
Output #1
Yes
Yes
No
No
API Response (JSON)
{
  "problem": {
    "name": "『FLA - I』冲云霄",
    "description": {
      "content": "给定**整数** $n$ 和 $m$,判断是否存在满足下列条件的数列 $a$。本题中数列元素的下标从 $1$ 开始。 - 数列 $a$ 的长度为 $m$,数列 $a$ 的每一项都为**正整数**。 - $a_1 \\oplus a_2 \\oplus \\cdots \\oplus a_m = n$,即数列 $a$ 的所有项异或得到的结果等于 $n$。 - 数列 $a$ 中所有元素的值都相同。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10835"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定**整数** $n$ 和 $m$,判断是否存在满足下列条件的数列 $a$。本题中数列元素的下标从 $1$ 开始。\n\n- 数列 $a$ 的长度为 $m$,数列 $a$ 的每一项都为**正整数**。\n\n- $a_1 \\oplus a_2 \\oplus \\cdots \\oplus a_m = n$,即数列 $a$ 的所有项异或得到的结果等于 $n$。\n\n- 数列 $a$ 中所有元素的值都相同。\n\n#...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments