该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
问题描述
给定两个整数 N 和 M,计算以下的和:
$$\sum_{k=0}^{N} \text{popcount}(k \& M) \mod 998244353$$
其中,& 表示按位与操作。
按位与操作
按位与操作 a&b 的结果是一个新的整数 x,它满足以下条件:
- 如果 a 和 b 的第 k 位都是 1,则 x 的第 k 位为 1。
- 否则,x 的第 k 位为 0。
例如:
- 3=112 和 5=1012,所以 3&5=1。
Popcount
函数 popcount(x) 计算数字 x 的二进制表示中 1 的个数。
例如:
- 13=11012,所以 popcount(13)=3。
输入
输入包含两个整数 N 和 M,给定在一行内。
输出
输出一个整数,表示答案对 998244353 取模后的结果。
样例
4 3
4
解释:
- popcount(0&3)=0
- popcount(1&3)=1
- popcount(2&3)=1
- popcount(3&3)=2
- popcount(4&3)=0
总和 = 4。
0 0
0
1152921504606846975 1152921504606846975
499791890
答案需对 998244353 取模。