CF2020F.Count Leaves
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有正整数 n 和 d。我们按如下规则建一棵 Tn,d 的约数树:
- 树的根节点上的数为 n。这是树的第 0 层。
- 对于第 i 层(i=0,1,...,d−1)的每个结点,执行如下操作:若当前节点上的数为 x,则 x 的所有可能的不同约数为其儿子节点上的数。这些儿子节点位于第 i+1 层。
- 第 d 层上的点为叶子节点。
例如,T6,2(n=6,d=2 的约数树)如下图所示:

定义 f(n,d) 为 T(n,d) 的叶子节点数。
给定 n,k,d ,计算 i=1∑nf(ik,d) 模 109+7 后的答案。
注:在这个问题中,我们说 y 为 x 的约数当且仅当 y≥1 且存在整数 z 使得 x=y⋅z。
输入格式
每个测试有多组测试数据。第一行 t (1≤t≤104) 为测试数据数。
每个测试数据包含一行三个数 n,k,d (1≤n≤109,1≤k,d≤105)。
保证所有测试数据中 n 的和不超过 109。
输出格式
对于每个测试数据,输出一行一个整数,表示 i=1∑nf(ik,d) mod 109+7 后的结果。
样例解释
在第一个测试样例中,n=6,k=1,d=1。因此,我们要算出 T1,1,T2,1,T3,1,T4,1,T5,1,T6,1 的叶子数的和。
- T1,1 只有一个叶子,该叶子上的数为 1。
- T2,1 有两个叶子,叶子上的数为 1,2。
- T3,1 有两个叶子,叶子上的数为 1,3。
- T4,1 有三个叶子,叶子上的数为 1,2,4。
- T5,1 有两个叶子,叶子上的数为 1,5。
- T6,1 有四个叶子,叶子上的数为 1,2,3,6。
叶子的总数为 1+2+2+3+2+4=14。
在第二个测试样例中,n=1,k=3,d=3,所以我们要求出 T13,3 的叶子数。因为 13=1,所以这棵树只有一片叶子,答案为 1。
输入输出样例
输入#1
3 6 1 1 1 3 3 10 1 2
输出#1
14 1 53
输入解题思路,AI测评打分。不知道怎么写?