Note -「因数的欧拉函数求和」
归档。
试证明:\(\sum \limits _{d | x} \varphi (d) = x\)
Lemma 1.
试证明:\(\sum \limits _{d | p^k} \varphi (d) = p ^k\),其中 \(p\) 为质数。
证明:显然,和 \(n\) 不互质的数一定含有 \(p\) 因子,而在 \([1, n]\) 中总共有 \(\lfloor \frac {n} {p} \rfloor = p ^{k - 1}\) 个含 \(p\) 因子的数,故可知 \(\varphi (p^k) = (p^k - p^{k - 1}), k > 0\)。特殊的,\(\varphi (1) = 1\)。
然后转化原式可得 \(\sum \limits _{i = 0} ^{k} \varphi (p ^i) = 1 + (p^1 - p^0) + (p^2 - p^1) + \dots + (p^k - p^{k - 1}) = p ^k\)。得证。
Lemma 2.
试证明:记 \(f (x) = \sum \limits _{d | x} \varphi (d)\),若 \(\gcd (m, n) = 1\),则 \(f(m n) = f(m)f(n)\)。即 \(f(n)\) 为积性函数。
证明:记 \(\mathbb{M'}\) 为 \(m\) 的因数集合,\(\mathbb{N'}\) 为 \(n\) 的因数集合。记两个集合大小分别为 \(a, b\)。
因为 \(m, n\) 互质,故 \(\mathbb{M'}\) 与 \(\mathbb{N'}\) 中没有相同元素,则 \(mn\) 的因数集合为 \(\{x y | x \in \mathbb{M'}, y \in \mathbb{N'}\}\)。
故:
f(mn) &= \varphi (x_1y_1) + \varphi (x_1y_2) + \dots + \varphi (x_{a}y_{1}) + \dots + \varphi (x_{a}y_{b})
\\
&= \sum _{i = 1} ^{a} \varphi (x_i) \times \sum _{j = 1} ^{b} \varphi (y_j)
\\
&= f(m)f(n)
\end {align}
\]
得证。
Prove.
将 \(n\) 质因数分解为 \(p_1 ^{k_1} p_2 ^{k_2} \dots p_m ^{k_m}\)。显然可由引理 1 知 \(f(p_i^{k_i}) = p_i ^{k_i}\)。
又因为 \(\gcd (p_i ^{k_i}, p_j ^{k_j}) = 1, i \neq j\),由引理 2 可得 \(f(p_i^{k_i} p_j^{k_j}) = f(p_i ^{k_i}) f(p_j ^{k_j}) = p_i^{k_i} p_j^{k_j}\)。
推广之,即得 \(f(n) = n\)。
Note -「因数的欧拉函数求和」的更多相关文章
- poj3090欧拉函数求和
E - (例题)欧拉函数求和 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:65536KB ...
- 【BZOJ4805】欧拉函数求和(杜教筛)
[BZOJ4805]欧拉函数求和(杜教筛) 题面 BZOJ 题解 好久没写过了 正好看见了顺手切一下 令\[S(n)=\sum_{i=1}^n\varphi(i)\] 设存在的某个积性函数\(g(x) ...
- BZOJ4805: 欧拉函数求和(杜教筛)
4805: 欧拉函数求和 Time Limit: 15 Sec Memory Limit: 256 MBSubmit: 614 Solved: 342[Submit][Status][Discus ...
- HDU2824-The Euler function-筛选法求欧拉函数+求和
欧拉函数: φ(n)=n*(1-1/p1)(1-1/p2)....(1-1/pk),其中p1.p2-pk为n的所有素因子.比如:φ(12)=12*(1-1/2)(1-1/3)=4.可以用类似求素数的筛 ...
- [BZOJ]4805: 欧拉函数求和
解题思路类似莫比乌斯函数之和 题目大意:求[1,n]内的欧拉函数$\varphi$之和.($n<=2*10^{9}$) 思路:令$ M(n)=\sum_{i=1}^{n}\varphi (i) ...
- 【bzoj3944/bzoj4805】Sum/欧拉函数求和 杜教筛
bzoj3944 题目描述 输入 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 输出 一共T行,每行两个用空格分隔的数ans1,ans2 样例输 ...
- BZOJ 4805: 欧拉函数求和 杜教筛
https://www.lydsy.com/JudgeOnline/problem.php?id=4805 给出一个数字N,求sigma(phi(i)),1<=i<=N https://b ...
- 【BZOJ3944/4805】Sum/欧拉函数求和 杜教筛
[BZOJ3944]Sum Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用 ...
- Bzoj4805: 欧拉函数求和
好久没写杜教筛了 练练手AC量刷起 # include <bits/stdc++.h> # define RG register # define IL inline # define F ...
随机推荐
- 使用Typora + 阿里云OSS + PicGo 打造自己的图床
使用Typora + 阿里云OSS + PicGo 打造自己的图床 为什么要打造图床? 让笔记远走高飞 试问以下场景: 我们要把 markdown 笔记放到某博客上,直接进行复制即可.但因你的图片存储 ...
- 手写useState与useEffect
手写useState与useEffect useState与useEffect是驱动React hooks运行的基础,useState用于管理状态,useEffect用以处理副作用,通过手写简单的us ...
- [笔记] $f(i)$ 为 $k$ 次多项式,$\sum_{i=0}^nf(i)\cdot q^i$ 的 $O(k\log k)$ 求法
\(f(i)\) 为 \(k\) 次多项式,\(\sum_{i=0}^nf(i)\cdot q^i\) 的 \(O(k\log k)\) 求法 令 \(S(n)=\sum_{i=0}^{n-1}f(i ...
- Linux内核浅入浅出
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 01 前言 拥有超过1300万行的代码,Linux内核是世界上最大的开源项目之一,但是Linux内核是什么,它用于什么?且听 ...
- 在GO中调用C源代码#基础篇1
开坑说明 最近在编写客户端程序或与其他部门做功能集成时多次碰到了跨语言的sdk集成,虽说方案很多诸如rpc啊,管道啊,文件io啊,unix socket啊之类的不要太多,但最完美的基础方式还是让程序与 ...
- KMP算法学习以及小结(好马不吃回头草系列)
首先请允许我对KMP算法的三位创始人Knuth,Morris,Pratt致敬,这三位优秀的算法科学家发明的这种匹配模式可以大大避免重复遍历的情况,从而使得字符串的匹配的速度更快,效率更高. 首先引入对 ...
- Vulhub靶场搭建教程
Vulhub靶机环境搭建 Vulhub地址: Vulhub下载地址 一.所需环境 1.Ubuntu16.04 2.最新版本Docker 二.安装之路 1.下载Ubuntu16.04下载地址(迅雷下载6 ...
- vue面试总结-2022
1.vue生命周期及各周期得特点 beforCreate 特点: 初始化实例,不能使用data和methods.ref 示例 beforeCreate: function () { console.g ...
- python常用标准库(os系统模块、shutil文件操作模块)
常用的标准库 系统模块 import os 系统模块用于对系统进行操作. 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作.文件的删除创建等详细资料可以参考官方文 ...
- STC8H开发(十一): GPIO单线驱动多个DS18B20数字温度计
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...