AT_tupc2023_e And DNA
题目描述
请计算所有满足以下条件的长度为 $N$ 的数列 $A=(A_1,A_2,\dots,A_N)$ 的个数,并将结果对 $998244353$ 取余后输出。数列中的每个元素都是 $0$ 到 $M$ 之间的非负整数。
- 对于所有 $i=1,2,\dots,N$,都有 $A_i + (A_{i-1} \& A_{i+1})=M$ 成立。这里 $A_0 \coloneqq A_N, A_{N+1} \coloneqq A_1$,$\&$ 表示按位与运算。
输入格式
输入包括一行,包含两个整数 $N$ 和 $M$。
输出格式
请输出答案。
说明/提示
### 样例解释 1
满足条件的 $A$ 有 $(0,2,2),\ (2,0,2),\ (2,2,0),\ (1,1,1)$ 共 $4$ 个。
### 样例解释 2
满足条件的 $A$ 只有 $(0,0,0)$ 这一个。
### 样例解释 3
请将最终答案对 $998244353$ 取余后输出。
### 数据范围
- $3 \leq N \leq 10^9$
- $0 \leq M \leq 10^9$
- 输入均为整数。
由 ChatGPT 5 翻译