AT_abc283_h [ABC283Ex] Popcount Sum
题目描述
请计算所有满足以下条件的整数的 popcount 总和:这些整数在 $1$ 到 $N$ 之间,且除以 $M$ 的余数为 $R$。
其中,对于正整数 $X$,$X$ 的 popcount 指的是 $X$ 的二进制表示中 $1$ 的个数,即所有使得 $2^k$ 位为 $1$ 的非负整数 $k$ 的个数。
对于每组输入,请回答 $T$ 个测试用例。
输入格式
输入通过标准输入给出。输入的第 $1$ 行如下:
> $T$
接下来是 $T$ 个测试用例。每个测试用例格式如下:
> $N$ $M$ $R$
输出格式
请输出 $T$ 行,第 $i$ 行输出第 $i$ 个测试用例的答案。
说明/提示
## 限制条件
- $1 \leq T \leq 10^5$
- $1 \leq M \leq N \leq 10^9$
- $0 \leq R < M$
- 输入均为整数
## 样例解释 1
第 $1$ 个测试用例中,$1$ 的 popcount 是 $1$,$6$ 的 popcount 是 $2$,$11$ 的 popcount 是 $3$,因此答案为 $1+2+3=6$。
第 $2$ 个测试用例中,$1$ 的 popcount 是 $1$,$2$ 的 popcount 是 $1$,$3$ 的 popcount 是 $2$,$4$ 的 popcount 是 $1$,$5$ 的 popcount 是 $2$,$6$ 的 popcount 是 $2$,因此答案为 $1+1+2+1+2+2=9$。
由 ChatGPT 4.1 翻译