#467. 选数异或
选数异或
题目描述
给定 个正整数 ,你需要统计有多少个不同的子序列,它们所有元素的异或值(即按顺序异或每个元素)恰好为 。
由于答案可能很大,请输出结果对 取模。
异或运算说明
异或(符号为 ⊕)是位运算的一种,具有以下性质:
子序列说明
子序列是指从原始序列中选择若干个元素,并保持它们的原有顺序。
输入格式
第一行两个正整数 :表示数组长度和目标异或值。
第二行 个正整数 :表示数组中的元素。
输出格式
一个整数,表示异或值为 x 的子序列个数,对 998244353 取模。
样例输入
2 0
2 2
样例输出
2
说明
有两种合法的子序列:
- 不选择任何元素:空子序列,异或值为
- 选择两个 :
因此答案为 。