CF2020F.Count Leaves

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

有正整数 nn 和 dd。我们按如下规则建一棵 Tn,dT_{n,d} 的约数树:

  • 树的根节点上的数为 nn。这是树的第 00 层。
  • 对于第 ii 层(i=0,1,...,d−1i=0,1,...,d-1)的每个结点,执行如下操作:若当前节点上的数为 xx,则 xx 的所有可能的不同约数为其儿子节点上的数。这些儿子节点位于第 i+1i+1 层。
  • 第 dd 层上的点为叶子节点。

例如,T6,2T_{6,2}(n=6,d=2n=6,d=2 的约数树)如下图所示:

定义 f(n,d)f(n,d) 为 T(n,d)T(n,d) 的叶子节点数。

给定 n,k,dn,k,d ,计算 ∑i=1nf(ik,d)\sum\limits_{i=1}^nf(i^k,d) 模 109+710^9+7 后的答案。

注:在这个问题中,我们说 yy 为 xx 的约数当且仅当 y≥1y\geq1 且存在整数 zz 使得 x=y⋅zx=y\cdot z。

输入格式

每个测试有多组测试数据。第一行 t (1≤t≤104)t\ (1\leq t\leq10^4) 为测试数据数。

每个测试数据包含一行三个数 n,k,d (1≤n≤109,1≤k,d≤105)n,k,d\ (1\leq n\leq 10^9,1\leq k,d\leq 10^5)。

保证所有测试数据中 nn 的和不超过 10910^9。

输出格式

对于每个测试数据,输出一行一个整数,表示 ∑i=1nf(ik,d) mod 109+7\sum\limits_{i=1}^nf(i^k,d)\ mod\ 10^9+7 后的结果。

样例解释

在第一个测试样例中,n=6,k=1,d=1n=6,k=1,d=1。因此,我们要算出 T1,1,T2,1,T3,1,T4,1,T5,1,T6,1T_{1,1},T_{2,1},T_{3,1},T_{4,1},T_{5,1},T_{6,1} 的叶子数的和。

  • T1,1T_{1,1} 只有一个叶子,该叶子上的数为 11。
  • T2,1T_{2,1} 有两个叶子,叶子上的数为 1,21,2。
  • T3,1T_{3,1} 有两个叶子,叶子上的数为 1,31,3。
  • T4,1T_{4,1} 有三个叶子,叶子上的数为 1,2,41,2,4。
  • T5,1T_{5,1} 有两个叶子,叶子上的数为 1,51,5。
  • T6,1T_{6,1} 有四个叶子,叶子上的数为 1,2,3,61,2,3,6。

叶子的总数为 1+2+2+3+2+4=141+2+2+3+2+4=14。

在第二个测试样例中,n=1,k=3,d=3n=1,k=3,d=3,所以我们要求出 T13,3T_{1^3,3} 的叶子数。因为 13=11^3=1,所以这棵树只有一片叶子,答案为 11。

输入输出样例

  • 输入#1

    3
    6 1 1
    1 3 3
    10 1 2

    输出#1

    14
    1
    53

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

首页