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 ...
随机推荐
- ucore lab2 物理内存管理 学习笔记
总的来讲把的LAB1代码逻辑理顺后再往后学就轻松了一大截.LAB2过遍课程视频,再多翻翻实验指导书基本上就没遇到啥大坎儿.对这节学得东西做个总结就是一张图: 练习0:填写已有实验 本实验依赖实验1.请 ...
- systemd进程管理工具实战教程
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 1. systemd介绍 systemd是目前Linux系统上主要的系统守护进程管理工具,由于 ...
- DOM0级同DOM2级
DOM0级分为两个:一是写在标签内的onclick事件: <button id="btn" onclick="alert('happy')">按钮& ...
- 推荐一款数据mock框架,无需任何依赖,贼牛逼
fox-mock 是基于Java Agent实现的自测,联调Mock利器.能解决你的这些问题: 开发过程中,依赖了下游多个接口,想跑个单测都必须得等下游把服务部署好 联调过程中,下游某个接口出问题,阻 ...
- Python 散列表查询_进入<哈希函数>为结界的世界
1. 前言 哈希表或称为散列表,是一种常见的.使用频率非常高的数据存储方案. 哈希表属于抽象数据结构,需要开发者按哈希表数据结构的存储要求进行 API 定制,对于大部分高级语言而言,都会提供已经实现好 ...
- 深入C++06:深入掌握OOP最强大的机制
深入掌握OOP最强大的机制 1. 继承的基本意义 类与类之间的关系:①组合:a part of ... 一部分的关系:②继承: a kind of ... 属于同一种的关系: 继承的本质:a. 代码的 ...
- Volatile的学习
首先先介绍三个性质 可见性 可见性代表主内存中变量更新,线程中可以及时获得最新的值. 下面例子证明了线程中可见性的问题 由于发现多次执行都要到主内存中取变量,所以会将变量缓存到线程的工作内存,这样当其 ...
- Spring是如何整合JUnit的?JUnit源码关联延伸阅读
上一篇我们回答了之前在梳理流程时遇到的一些问题,并思考了为什么要这么设计. 本篇是<如何高效阅读源码>专题的第十二篇,通过项目之间的联系来进行扩展阅读,通过项目与项目之间的联系更好的理解项 ...
- css3常用动画
//有道云笔记链接 http://note.youdao.com/s/72qbBVyv
- IPC机制与线程的操作
目录 Queue模块 IPC机制(进程间通信) 生产者消费者模型 线程理论 创建线程的两种方式 线程实现TCP服务端的并发 线程join方法 线程数据共享 线程对象属性和方法 守护线程 GIL全局解释 ...