直接正向求和显然是不可取的,所以我们要利用数论中一个非常重要的思想:数论分块
也就是放过来考虑每个因子\(d\)对整个式子的贡献,即\(\lfloor \frac{n}{d} \rfloor \cdot d^k\)
所以接下来就要处理\(d^k\)
由于规模是\(10^7\),所以是不能对每个数进行快速幂的,而这个规模也在提示我们想到线性筛,即利用线性筛的思想来不重不漏地维护信息(每个数只会被唯一表示)
具体见代码
直接正向求和显然是不可取的,所以我们要利用数论中一个非常重要的思想:数论分块
也就是放过来考虑每个因子\(d\)对整个式子的贡献,即\(\lfloor \frac{n}{d} \rfloor \cdot d^k\)
所以接下来就要处理\(d^k\)
由于规模是\(10^7\),所以是不能对每个数进行快速幂的,而这个规模也在提示我们想到线性筛,即利用线性筛的思想来不重不漏地维护信息(每个数只会被唯一表示)
具体见代码