sigma_bin
蹲在丛中笑
·
2018-07-16 14:54:01
·
个人记录
>>>\sum_{d|n}\phi(d)=n
https://blog.csdn.net/wt_cnyali/article/details/78369210
列出
\frac{1}{n}, \frac{2}{n}, \frac{3}{n}, \cdots,\frac{n}{n}
一共n个分数,再将他们化简.
最简分数\frac{a}{b} 在上面出现的话,当且仅当b|n 且(a,b)=1 。
那么以b为分母的分数共\phi(b) 个。
分母一共被划分为\sum_{d|n}1 份.
所以
n = \sum_{d|n}\phi(d)
>>> \phi(n)=\sum_{d|n}\mu(d)\frac nd
证明莫比乌斯反演定理
https://blog.csdn.net/outer_form/article/details/50588307
莫比乌斯反演定理形式一:
F(n)=\sum_{d|n}f(d)=>f(n)=\sum_{d|n}\mu(d)F(\frac{n}{d})
证明:
恒等变形得:
f(n)=\sum_{d|n}\mu(d)F(\frac{n}{d})=\sum_{d|n}\mu(d)\sum_{k|\frac{n}{d}}f(k)=\sum_{k|n}f(k)\sum_{d|\frac{n}{k}}\mu(d)
因为之前证明的这个定理:
\sum_{d|n}\mu(d)=\begin{cases}1&n==1\\0&n>1\end{cases}
所以当且仅当\frac{n}{k}=1 ,即n=k 时,\sum_{d|\frac{n}{k}}\mu(d)=1 ,其余时候等于0。
故
\sum_{k|n}f(k)\sum_{d|\frac{n}{k}}\mu(d)=f(n)
莫比乌斯反演定理形式二:
F(n)=\sum_{n|d}f(d)=>f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d)
证明:
令k=\frac{d}{n} ,那么,就得到
f(n)=\sum^{+\infty}_{k=1}\mu(k)F(nk)=\sum^{+\infty}_{k=1}\mu(k)\sum_{nk|t}f(t)=\sum_{n|t}f(t)\sum_{k|\frac{t}{n}}\mu(k)
所以当且仅当\frac{t}{n}=1 ,即t=n 时,\sum_{k|\frac{t}{n}}\mu(k)=1 ,其余时候等于0。
故得到
\sum_{n|t}f(t)\sum_{k|\frac{t}{n}}\mu(k)=f(n)
证明完毕。
原根
1,2,4,p,2p,p^k 有原根,原根个数为\phi(\phi(n))
欧拉函数线性筛法
int n=100000,phi[N],np[N],p[N],sz;
phi[1]=1;
for (int i=2;i<=n;++i) {
if (!np[i]) p[++sz]=i,phi[i]=i-1;
for (int j=1;j<=sz&&i*p[j]<=n;++j) {
np[i*p[j]]=1;
if (i%p[j]) phi[i*p[j]]=phi[i]*(p[j]-1);
else { phi[i*p[j]]=phi[i]*p[j]; break; }
}
}
约数个数
约数个数函数。因此,我先给出这个函数的一个重要性质:
$$ d(ij)=\sum_{x|i}\sum_{y|j}[gcd(x,y)=1]$$

欧拉函数的延伸:
于或等于n的数中,与n互质的数的总和为:φ(x) * x / 2 (n>1)。
显然有以下常见的卷积形式
任意函数卷积单位元仍为它本身
d=1∗1
σ=id∗1
因为$e(n)=∑d|nμ(d)
所以
e=1∗μ
因为φ(n)=∑d|nμ(d)nd
所以
φ=μ∗id
因为n=∑d|nφ(d)
所以
id=φ∗1
杜教筛
https://www.cnblogs.com/Mychael/p/8744633.html
说了那么多,回归到杜教筛吧:
我们要求的是:
S(n) = \sum_{i=1}^{n} f(i)
我们找到另一个积性数论函数g(n)
那么
\sum_{i=1}^{n}(f*g)(i) = \sum_{i=1}^{n} \sum_{d|i} g(d) * f(\frac{i}{d})
\qquad \qquad = \sum_{i=1}^{n} g(i) * \sum_{j = 1}^{\lfloor \frac{n}{i} \rfloor} f(j)
\qquad \qquad = \sum_{i=1}^{n} g(i) * S(\lfloor \frac{n}{i} \rfloor)
我们就有:
\sum_{i=1}^{n}(f*g)(i) = \sum_{i=1}^{n} g(i) * S(\lfloor \frac{n}{i} \rfloor)
就可以有:
g(1) * S(n) = \sum_{i=1}^{n}(f*g)(i) - \sum_{i=2}^{n} g(i) * S(\lfloor \frac{n}{i} \rfloor)
如果我们能找到一个函数g(n)
使得\sum_{i=1}^{n}(f*g)(i) 可以被快速计算
莫比乌斯函数:S(n)=1-\sum_{d=2}^nS(\frac nd)
欧拉函数: S(n)=\frac{n(n+1)}2-\sum_{d=2}^nS(\frac{n}d)
https://vjudge.net/problem/51Nod-1244
自然数平方和立方和
扩展欧拉定理
https://www.cnblogs.com/ywwyww/p/8510981.html
a^b≡x(mod m) 求x
gcd(a,m)=1,欧拉定理:a^b≡a^(b%φ(m))(mod m)
gcd(a,m)>1,且b>φ(m),扩展欧拉定理:a^b≡a^(b%φ(m)+φ(m))(mod m)
(b<=φ(m)时,直接用a^b求就可以了)