AT_abc194_f [ABC194F] Digits Paradise in Hexadecimal
题目描述
在本题中,十六进制表示中将 `0` 到 `9`、`A` 到 `F` 作为数字,其中 `A` 到 `F` 分别表示十到十五。
除非特别说明,题目中出现的所有数字均为十进制表示。
请计算 $1$ 到 $N$ 之间(包含 $N$)的所有整数中,有多少个数在其十六进制表示(且首位不为 $0$)时,恰好出现了 $K$ 种不同的数字?
请输出答案对 $10^9+7$ 取模的结果。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $K$
$N$ 以十六进制表示给出。
输出格式
请输出答案对 $10^9+7$ 取模后的结果。
说明/提示
## 约束条件
- $1 \leq N < 16^{2 \times 10^5}$
- $N$ 的十六进制表示首位不为 `0`
- $1 \leq K \leq 16$
- 输入中的所有值均为整数
## 样例解释 1
由于 $N$ 以十六进制表示,转换为十进制后为 $16$。$1$ 到 $16$ 的整数,其十六进制表示如下:
- $1$ 到 $15$:十六进制表示为一位数,因此只出现 $1$ 种数字
- $16$:十六进制表示为 $10$,出现了 $2$ 种数字
因此,十六进制表示中出现 $1$ 种数字的有 $15$ 个。
## 样例解释 2
出现 $2$ 种数字的情况是:在 $1$ 到 $255$ 的 $255$ 个整数中,十六进制表示为 $1, 2, 3, \dots, E, F, 11, 22, 33, \dots, EE, FF$ 的 $15+15=30$ 个数被排除。
## 样例解释 5
请输出答案对 $10^9+7$ 取模的结果。
由 ChatGPT 4.1 翻译