#ABC288Ex. 无名计数问题

无名计数问题

无名计数问题

题目描述

求同时满足以下两个条件的长为 NN 的整数序列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N) 的个数,对 998244353998244353 取模。

0≤A1≤A2≤⋯≤AN≤M0 \leq A_1 \leq A_2 \leq \cdots \leq A_N \leq M

A1⊕A2⊕⋯⊕AN=XA_1 \oplus A_2 \oplus \cdots \oplus A_N = X

这里,⊕\oplus 表示按位异或。

什么是按位异或?

非负整数 AA 和 BB 的按位异或 A⊕BA \oplus B 定义如下。

将 A⊕BA \oplus B 写成二进制时,第 kk 低位(k≥0k \geq 0)在 AA 和 BB 的二进制表示中恰好一个的第 kk 低位为 11 时为 11,否则为 00。

例如,3⊕5=63 \oplus 5 = 6(二进制:011⊕101=110011 \oplus 101 = 110)。

输入格式

输入按以下格式从标准输入给出:

NN MM XX

输出格式

输出答案。

样例

3 3 2
5

满足题述两个条件的长为 NN 的序列有以下 5 个:$(0, 0, 2), (0, 1, 3), (1, 1, 2), (2, 2, 2), (2, 3, 3)$。

200 900606388 317329110
788002104

数据范围

  • 1≤N≤2001 \leq N \leq 200
  • 0≤M<2300 \leq M \lt 2^{30}
  • 0≤X<2300 \leq X \lt 2^{30}
  • 输入中的所有值均为整数。
难度 NOI/NOI+/CTS
通过率 —
尝试 0
通过 0
ID
2612
类型
传统题
Time Limit
687ms
Memory Limit
1024MiB
上传者
标签