AT_abc406_e.[ABC406E] Popcount Sum 3

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

给定正整数 N,KN, K。
请求出所有小于等于 NN 的正整数 xx 中,满足以下条件的数的总和,并将结果对 998244353998244353 取模。

  • xx 的 popcount\mathrm{popcount} 值恰好为 KK。

给定 TT 个测试用例,请分别求出答案。

popcount\mathrm{popcount} 指的是,对于正整数 yy,其 popcount\mathrm{popcount} 值 popcount(y)\mathrm{popcount}(y) 表示 yy 在二进制表示中数字 11 出现的次数。例如,popcount(5)=2\mathrm{popcount}(5)=2,popcount(16)=1\mathrm{popcount}(16)=1,popcount(25)=3\mathrm{popcount}(25)=3。

输入格式

输入按以下格式从标准输入给出。

TT
case1\mathrm{case}_1
case2\mathrm{case}_2
⋮\vdots
caseT\mathrm{case}_T

casei\mathrm{case}_i 表示第 ii 个测试用例。每个测试用例按以下格式给出。

NN KK

输出格式

输出 TT 行。第 ii 行 (1≤i≤T)(1 \leq i \leq T) 输出第 ii 个测试用例的答案。

输入输出样例

  • 输入#1

    2
    20 2
    1234567890 17

    输出#1

    100
    382730918

说明/提示

「数据范围」

  • 1≤T≤1001 \leq T \leq 100
  • 1≤N<2601 \leq N < 2^{60}
  • 1≤K≤601 \leq K \leq 60
  • T,N,KT, N, K 均为整数

「样例 1 解释」

对于第 11 个测试用例,小于等于 2020 的正整数中,popcount\mathrm{popcount} 值为 22 的数有 3,5,6,9,10,12,17,18,203, 5, 6, 9, 10, 12, 17, 18, 20,共 99 个,它们的总和是 100100。

100100 对 998244353998244353 取模的结果是 100100,因此第 11 行输出 100100。

请注意需要输出对 998244353998244353 取模的余数。

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

首页