欧拉函数和遗忘自动机 SX 的故逝
欧拉函数 \(\varphi(n)\) 定义为小于 \(n\) 与 \(n\) 互质的数字,炒个例子,\(\varphi(10) = 4\),因为 \(1,3,7,9\) 与 \(10\) 互质。
怎么求?\(n\) 唯一分解成 \(p_1^{c_1}p_2^{c_2}\dots p_k^{c_k}\),则 \(\varphi(n) = n\prod\limits_{i = 1}^k \dfrac{p_i - 1}{p_i}\),证明可以用容斥做(懒得写了┓( ´∀` )┏)
它显然可以用分解质因数求单个的,也可以用埃筛求多个的,长这样
void getphi() {
for(int p = 1; p <= MAXN; p++) phi[p] = p;
for(int p = 2; p <= MAXN; p++)
if(phi[p] == p)
for(int i = p; i <= MAXN; i += p)
phi[i] = phi[i] / p * (p - 1);
}
原因显而易见。
最重要的是几条性质(也就是说我水了一半是吧 QAQ)
与 \(n\) 互质的数之和为 \(\dfrac{\varphi(n)n}{2}\)。
这是因为 \(\gcd(n - x, n) = \gcd(n, x)\),则如果 \(x\) 与 \(n\) 互质,那么 \(n - x\) 亦与 \(n\) 互质,成对出现,和为 \(n\),有 \(\dfrac{\varphi(n)}{2}\),总和为 \(\dfrac{\varphi(n)n}{2}\)。欧拉函数是积性函数,即 \(\varphi(ab) = \varphi(a)\varphi(b),\gcd(a, b) = 1\)
显而易见,分解质因数即可证明。若 \(p\) 为质数,且 \(p|n, p^2|n\),则有 \(\varphi(n) = \varphi(n/p) \times p\)。
由于 \(p|n, p^2|n\),因此 \(n/p\) 与 \(n\) 有同样的质因子,\(\varphi(n)\) 与 \(\varphi(n/p)\) 用公式写一下显然成立(若 \(p\) 为质数,且 \(p|n, p^2\not | n\),则有 \(\varphi(n) = \varphi(n/p) \times (p - 1)\)。
由于 \(p|n, p^2\not|n\),则 \(n/p\) 没有质因子 \(p\),即 \(\gcd(n/p, p) = 1\),由于这是积性函数则 \(\varphi(n) = \varphi(n / p)\times \varphi(p) = \varphi(n/ p) \times (p - 1)\)。
运用 3 4 可以用欧拉筛筛这个 qwq
- \(\sum\limits_{d|n}\varphi(d) = n\)
欧拉。。欧拉反演。。。?
不会证明,懒得去学,跑路,有时间填坑 qAq
欧拉筛怎么筛这个(欧拉超级加倍 2333333)
欧拉筛的核心在于将一个合数拆成 \(p\times k\),其中 \(p\) 是这个数字的最小质因数。如果 \(p\) 与 \(k\) 互质,则有 \(\varphi(pk) = \varphi(p)\times (k - 1)\),否则 \(varphi(pk) = \varphi(p/k)\times p\)。原因是因为上面的 3 4 两条性质 QWQ
代码不放了,都讲到这个份上了就都会了~(主要是暂时找不到懒得写了┓( ´∀` )┏(懒狗。。。))
式子的话,一般是求和,然后我们每次是枚举 \(\gcd\),最后一波乱搞搞成欧拉函数的形式 qwq
因题而异,不写了 qwq
欧拉函数和遗忘自动机 SX 的故逝的更多相关文章
- 【bzoj2401】陶陶的难题I “高精度”+欧拉函数+线性筛
题目描述 求 输入 第一行包含一个正整数T,表示有T组测试数据.接下来T<=10^5行,每行给出一个正整数N,N<=10^6. 输出 包含T行,依次给出对应的答案. 样例输入 7 1 10 ...
- hdu2588 GCD (欧拉函数)
GCD 题意:输入N,M(2<=N<=1000000000, 1<=M<=N), 设1<=X<=N,求使gcd(X,N)>=M的X的个数. (文末有题) 知 ...
- BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2553 Solved: 1565[Submit][ ...
- BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 4436 Solved: 1957[Submit][Status][Discuss ...
- COGS2531. [HZOI 2016]函数的美 打表+欧拉函数
题目:http://cogs.pw/cogs/problem/problem.php?pid=2533 这道题考察打表观察规律. 发现对f的定义实际是递归式的 f(n,k) = f(0,f(n-1,k ...
- poj2478 Farey Sequence (欧拉函数)
Farey Sequence 题意:给定一个数n,求在[1,n]这个范围内两两互质的数的个数.(转化为给定一个数n,比n小且与n互质的数的个数) 知识点: 欧拉函数: 普通求法: int Euler( ...
- 51Nod-1136 欧拉函数
51Nod: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1136 1136 欧拉函数 基准时间限制:1 秒 空间限制: ...
- 欧拉函数 - HDU1286
欧拉函数的作用: 有[1,2.....n]这样一个集合,f(n)=这个集合中与n互质的元素的个数.欧拉函数描述了一些列与这个f(n)有关的一些性质,如下: 1.令p为一个素数,n = p ^ k,则 ...
- FZU 1759 欧拉函数 降幂公式
Description Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,C<=1000 ...
- hdu 3307 Description has only two Sentences (欧拉函数+快速幂)
Description has only two SentencesTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
随机推荐
- 快速创建Jenkins Job
Jenkins Job 类型 **1.Freestyle project ** 这个是jenkins的基础功能,可以用它来执行各种构建任务,他只能构建在一个电脑上,如果没有太多的需求,这个job基本够 ...
- APACHE快速安装流程梳理
操作参考教程:https://www.cnblogs.com/haw2106/p/9839655.html 快速安装开始: [环境配置1] yum -y install gcc gcc-c++ wge ...
- 【Scala复习】基础知识、函数式编程、面向对象、集合、隐式转换、模式匹配、泛型
重点版 详细版 基础知识常量和变量尽量使用常量val别使用变量var变量的命名数字字母下划线_特殊的用法数据类型java基本数据类型引用数据类型scalaAny-对象的根类AnyVal-数值类型Lon ...
- 【每日一题】【栈和队列、双端队列】20. 有效的括号/NC52 有效括号序列-211127/220126
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合. 来源:力扣(L ...
- MySQL数据库和Python的交互
一.缘由 这是之前学习的时候写下的基础代码,包含着MySQL数据库和Python交互的基本操作. 二.代码展示 import pymysql ''' 1.数据库的链接和创建视图 ''' # db=py ...
- 玩好.NET高级调试,你也要会写点汇编
一:背景 1. 简介 .NET 高级调试要想玩的好,看懂汇编是基本功,但看懂汇编和能写点汇编又完全是两回事,所以有时候看的多,总手痒痒想写一点,在 Windows 平台上搭建汇编环境不是那么容易,大多 ...
- Go适合做什么?为何这么多人偏爱Go语言?
Go作为Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言. 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着 ...
- Jmeter 之在linux中监控Memory、CPU、I/O资源等操作方法
在做性能测试时,单纯的只看响应时间.错误率.中间值远远不够的,有时需要监控服务cpu.内存等指标来判断影响性能的瓶颈在哪. 操作步骤: 一.Linux下配置jmeter环境 1.在linux环境下安装 ...
- 精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)
Sentinel是什么?不要概念混淆啊! 注意:本Sentinel与Redis服务Sentinel是两回事,压根不是一个概念,请大家不要混肴. Alibaba的Sentinel Sentinel是由阿 ...
- ClickHouse MergeTree引擎
Clickhouse 中最强大的表引擎当属 MergeTree (合并树)引擎及该系列(*MergeTree)中的其他引擎. MergeTree 系列的引擎被设计用于插入极大量的数据到一张表当中.数据 ...