#aBC194F. [ABC194F] Digits Paradise in Hexadecimal

[ABC194F] Digits Paradise in Hexadecimal

AT_abc194_f [ABC194F] Digits Paradise in Hexadecimal

题目描述

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

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

输入格式

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

NN KK

NN 以十六进制表示给出。

输出格式

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

输入输出样例 #1

输入 #1

10 1

输出 #1

15

输入输出样例 #2

输入 #2

FF 2

输出 #2

225

输入输出样例 #3

输入 #3

100 2

输出 #3

226

输入输出样例 #4

输入 #4

1A8FD02 4

输出 #4

3784674

输入输出样例 #5

输入 #5

DEADBEEFDEADBEEEEEEEEF 16

输出 #5

153954073

说明/提示

约束条件

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

样例解释 1

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

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

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

样例解释 2

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

样例解释 5

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

由 ChatGPT 4.1 翻译