AT_abc194_f.[ABC194F] Digits Paradise in Hexadecimal

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

在本题中,十六进制表示中将 0 到 9、A 到 F 作为数字,其中 A 到 F 分别表示十到十五。
除非特别说明,题目中出现的所有数字均为十进制表示。

请计算 11 到 NN 之间(包含 NN)的所有整数中,有多少个数在其十六进制表示(且首位不为 00)时,恰好出现了 KK 种不同的数字?
请输出答案对 109+710^9+7 取模的结果。

输入格式

输入通过标准输入给出,格式如下:

NN KK

NN 以十六进制表示给出。

输出格式

请输出答案对 109+710^9+7 取模后的结果。

输入输出样例

  • 输入#1

    10 1

    输出#1

    15
  • 输入#2

    FF 2

    输出#2

    225
  • 输入#3

    100 2

    输出#3

    226
  • 输入#4

    1A8FD02 4

    输出#4

    3784674
  • 输入#5

    DEADBEEFDEADBEEEEEEEEF 16

    输出#5

    153954073

说明/提示

约束条件

  • 1≤N<162×1051 \leq N < 16^{2 \times 10^5}
  • NN 的十六进制表示首位不为 0
  • 1≤K≤161 \leq K \leq 16
  • 输入中的所有值均为整数

样例解释 1

由于 NN 以十六进制表示,转换为十进制后为 1616。11 到 1616 的整数,其十六进制表示如下:

  • 11 到 1515:十六进制表示为一位数,因此只出现 11 种数字
  • 1616:十六进制表示为 1010,出现了 22 种数字

因此,十六进制表示中出现 11 种数字的有 1515 个。

样例解释 2

出现 22 种数字的情况是:在 11 到 255255 的 255255 个整数中,十六进制表示为 1,2,3,…,E,F,11,22,33,…,EE,FF1, 2, 3, \dots, E, F, 11, 22, 33, \dots, EE, FF 的 15+15=3015+15=30 个数被排除。

样例解释 5

请输出答案对 109+710^9+7 取模的结果。

由 ChatGPT 4.1 翻译

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

首页