除数函数求和 1

直接正向求和显然是不可取的,所以我们要利用数论中一个非常重要的思想:数论分块

也就是放过来考虑每个因子\(d\)对整个式子的贡献,即\(\lfloor \frac{n}{d} \rfloor \cdot d^k\)

所以接下来就要处理\(d^k\)

由于规模是\(10^7\),所以是不能对每个数进行快速幂的,而这个规模也在提示我们想到线性筛,即利用线性筛的思想来不重不漏地维护信息(每个数只会被唯一表示),类似与DP的刷表法

具体见代码

posted @ 2024-02-14 00:09  最爱丁珰  阅读(6)  评论(0编辑  收藏  举报