[BZOJ4916]神犇和蒟蒻
试题描述
很久很久以前,有一只神犇叫yzy;
很久很久之后,有一只蒟蒻叫lty;
输入
请你读入一个整数 \(N\); \(1 \le N \le 10^9\), \(A\)、\(B\) 模 \(10^9+7\);
输出
请你输出一个整数 \(A=\sum_{i=1}^N{\mu (i^2)}\);
请你输出一个整数 \(B=\sum_{i=1}^N{\varphi (i^2)}\);
输入示例
1
输出示例
11
数据规模及约定
见“输入”
题解
知道莫比乌斯函数定义的人都知道 \(A\) 恒为 \(1\)。
然后我们把欧拉函数展开一下就会发现 \(\varphi(i^2) = i \cdot \varphi(i)\)。
那么就是杜教筛 \(i \cdot \varphi(i)\) 的前缀和。这个东西很神奇,你会发现将 \(i \cdot \varphi(i)\) 和 \(i\) 狄利克雷卷积一下就出来了。
\[ \sum_{i=1}^N \sum_{j|i} j \cdot \varphi(j) \cdot \frac{i}{j} \\ = \sum_{i=1}^N i \sum_{j|i} \varphi(j) \\ = \sum_{i=1}^N i^2 \]
目前还不知道这能干什么,令 \(F(N) = \sum_{i=1}^N i \cdot \varphi(i)\),接着往下推就知道了
\[ \sum_{i=1}^N \sum_{j|i} j \cdot \varphi(j) \cdot \frac{i}{j} \\ = \sum_{j=1}^N { j \cdot \varphi(j) \sum_{i=1}^{\lfloor \frac{N}{j} \rfloor} i } \\ = \sum_{i=1}^N { i \sum_{j=1}^{\lfloor \frac{N}{i} \rfloor} j \cdot \varphi(j) } \\ = \sum_{i=1}^N i \cdot F \left( \lfloor \frac{N}{i} \rfloor \right) \]
于是有
\[ \sum_{i=1}^N i^2 = \sum_{i=1}^N i \cdot F \left( \lfloor \frac{N}{i} \rfloor \right) \\ F(N) = \sum_{i=1}^N i^2 - \sum_{i=2}^N i \cdot F \left( \lfloor \frac{N}{i} \rfloor \right) \]
解决!
#include #include #include #include #include #include #include