CF414B Mashmokh and ACM

题目描述

Mashmokh 的老板 Bimokh 不喜欢 Mashmokh,于是把他解雇了。Mashmokh 决定去上大学,并且参加 ACM 而不是找新工作。他想成为 Bamokh 队的成员。为此,他被分配了一些编程题,并有一周时间去完成。Mashmokh 不是一个很有经验的程序员。实际上他根本不是程序员,所以他没能解出来。因此,他来请你帮他解决这些题目。其中有一道题如下。 给定长度为 $l$ 的整数序列 $b_1, b_2, \ldots, b_l$($1 \leq b_1 \leq b_2 \leq \ldots \leq b_l \leq n$),如果序列中的每一个数都能被后一个数整除(即对于所有 $i$,$1 \leq i \leq l-1$,有 $b_i$ 能被 $b_{i+1}$ 整除),则称这个序列是“好的”。更正式地说,对于所有的 $i$($1 \leq i \leq l-1$),都有 $b_{i+1} \bmod b_i = 0$。 给定 $n$ 和 $k$,求长度为 $k$ 的“好”的序列的个数。由于答案可能很大,请输出答案对 $1000000007$($10^9+7$)取模的结果。

输入格式

输入的第一行包含两个用空格分隔的整数 $n,k$($1 \leq n,k \leq 2000$)。

输出格式

输出一个整数,代表长度为 $k$ 的“好”的序列的个数,对 $1000000007$ 取模。

说明/提示

在第一个样例中,“好”的序列有:[1, 1], [2, 2], [3, 3], [1, 2], [1, 3]。 由 ChatGPT 5 翻译