AT_abc283_h.[ABC283Ex] Popcount Sum

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

请计算所有满足以下条件的整数的 popcount 总和:这些整数在 11 到 NN 之间,且除以 MM 的余数为 RR。
其中,对于正整数 XX,XX 的 popcount 指的是 XX 的二进制表示中 11 的个数,即所有使得 2k2^k 位为 11 的非负整数 kk 的个数。
对于每组输入,请回答 TT 个测试用例。

输入格式

输入通过标准输入给出。输入的第 11 行如下:

TT

接下来是 TT 个测试用例。每个测试用例格式如下:

NN MM RR

输出格式

请输出 TT 行,第 ii 行输出第 ii 个测试用例的答案。

输入输出样例

  • 输入#1

    2
    12 5 1
    6 1 0

    输出#1

    6
    9

说明/提示

限制条件

  • 1≤T≤1051 \leq T \leq 10^5
  • 1≤M≤N≤1091 \leq M \leq N \leq 10^9
  • 0≤R<M0 \leq R < M
  • 输入均为整数

样例解释 1

第 11 个测试用例中,11 的 popcount 是 11,66 的 popcount 是 22,1111 的 popcount 是 33,因此答案为 1+2+3=61+2+3=6。
第 22 个测试用例中,11 的 popcount 是 11,22 的 popcount 是 11,33 的 popcount 是 22,44 的 popcount 是 11,55 的 popcount 是 22,66 的 popcount 是 22,因此答案为 1+1+2+1+2+2=91+1+2+1+2+2=9。

由 ChatGPT 4.1 翻译

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

首页