AT_tupc2023_e.And DNA

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

请计算所有满足以下条件的长度为 NN 的数列 A=(A1,A2,…,AN)A=(A_1,A_2,\dots,A_N) 的个数,并将结果对 998244353998244353 取余后输出。数列中的每个元素都是 00 到 MM 之间的非负整数。

  • 对于所有 i=1,2,…,Ni=1,2,\dots,N,都有 Ai+(Ai−1&Ai+1)=MA_i + (A_{i-1} \& A_{i+1})=M 成立。这里 A0≔AN,AN+1≔A1A_0 \coloneqq A_N, A_{N+1} \coloneqq A_1,&\& 表示按位与运算。

输入格式

输入包括一行,包含两个整数 NN 和 MM。

输出格式

请输出答案。

输入输出样例

  • 输入#1

    3 2

    输出#1

    4
  • 输入#2

    3 0

    输出#2

    1
  • 输入#3

    100 100

    输出#3

    343406454

说明/提示

样例解释 1

满足条件的 AA 有 (0,2,2), (2,0,2), (2,2,0), (1,1,1)(0,2,2),\ (2,0,2),\ (2,2,0),\ (1,1,1) 共 44 个。

样例解释 2

满足条件的 AA 只有 (0,0,0)(0,0,0) 这一个。

样例解释 3

请将最终答案对 998244353998244353 取余后输出。

数据范围

  • 3≤N≤1093 \leq N \leq 10^9
  • 0≤M≤1090 \leq M \leq 10^9
  • 输入均为整数。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页