D. [ABC356D] Masked Popcount

    传统题 2000ms 1024MiB

[ABC356D] Masked Popcount

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

AT_abc356_d [ABC356D] Masked Popcount

题目描述

给你 22 个整数 NNMM,请你求出 $\sum\limits_{k=0}^N \operatorname{popcount}(k \operatorname{and}M)$ 对 998244353998244353 取模后的值。

其中,and\operatorname{and} 表示按位与运算popcount(x)\operatorname{popcount}(x) 表示 xx 的二进制表示中 11 的个数(比如 13=1101(2)13=1101_{(2)},所以 popcount(13)=3\operatorname{popcount}(13)=3)。

输入格式

输入一行两个整数 NNMM

输出格式

输出答案,结果对 998244353998244353 取模。

样例 1

输入

4 3

输出

4

样例 2

输入

0 0

输出

0

样例 3

输入

1152921504606846975 1152921504606846975

输出

499791890

说明/提示

数据范围

0N,M26010\le N,M\le 2^{60}-1

样例解释 1

  • $\operatorname{popcount} (0\operatorname{and}3)=0$
  • $\operatorname{popcount} (1\operatorname{and}3)=1$
  • $\operatorname{popcount} (2\operatorname{and}3)=1$
  • $\operatorname{popcount} (3\operatorname{and}3)=2$
  • $\operatorname{popcount} (4\operatorname{and}3)=0$

这些值的总和为 44

样例解释 2

可能出现 N=0N=0M=0M=0 的情况。

样例解释 3

请注意答案对 998244353998244353 取模。

初中组20260108(AT_abc356)

未参加
状态
已结束
规则
乐多
题目
7
开始于
2026-1-8 12:00
结束于
2026-1-8 13:18
持续时间
1.3 小时
主持人
参赛人数
9