P2303 [SDOI2012] Longge

一道看似非常基础的数论题,但是蕴含了非常多的知识,求解
∑i=1ngcd(i,n)\sum_{i=1}^ngcd(i,n) i=1∑n​gcd(i,n)
这个东西我们轻松地就能化简成id∗φid*\varphiid∗φ的形式,然后考虑如何快速求解,那么可以枚举n的所有因数然后对因数O(n)O(\sqrt{n})O(n​)求解φ(n)\varphi(n)φ(n)然后考虑这样子的复杂度和因数个数有关,那么有这样一个表告诉我们因数个数是很少的,所以这道题的复杂度是正确的。

然后进一步优化复杂度的思路就是将φ\varphiφ展开
∑d∣nφ(d)nd=∑d∣nd(∏x∣dx−1x)nd=n∏(1+piai−1ai)=n∏piai−pi+aiai\sum_{d|n}\varphi(d)\frac{n}{d}=\sum_{d|n}d(\prod_{x|d}\frac{x-1}{x})\frac{n}{d} \\=n\prod(1+p_i\frac{a_i-1}{a_i}) \\=n\prod\frac{p_ia_i-p_i+a_i}{a_i} d∣n∑​φ(d)dn​=d∣n∑​d(x∣d∏​xx−1​)dn​=n∏(1+pi​ai​ai​−1​)=n∏ai​pi​ai​−pi​+ai​​
这样我们就可以O(n)O(\sqrt{n})O(n​)解决这个问题了

P2303 [SDOI2012] Longge(数论/欧拉函数)相关推荐

  1. hdu1395 数论 欧拉函数

    hdu1395 数论   欧拉函数 对于给出的每一个n 求最小正整数 x 满足 2^x mod n = 1 1.如果给出的n 是偶数或者 1 则一定无解 2.如果是奇数 首先根据欧拉定理 我们可知 p ...

  2. 第二十六章 数论——欧拉函数(详解与证明)

    第二十六章 数论--欧拉函数(详解与证明) 欧拉函数 1.互质 2.欧拉函数的定义 3.欧拉函数的公式 4.欧拉函数的证明 5.欧拉函数的使用 (1)问题一: 思路 代码 (2)问题二: 思路 cas ...

  3. CCPC-Wannafly Winter Camp Day3 (Div2, onsite) F 小清新数论 欧拉函数的利用 莫比乌斯反演 杜教筛

    F - 小清新数论 做法一:欧拉函数 #include<stdio.h> #include<bits/stdc++.h> using namespace std; #defin ...

  4. 费马定理中值定理_数论-欧拉函数、欧拉定理

    欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...

  5. 中高级数论 [欧拉函数线性筛,二次剩余]

    欧拉函数线性筛 对于素数ppp, φ(p∗i)={p−1i=1p∗φ(i)p∣i(p−1)∗φ(i)p∤i\varphi (p*i)= \begin{cases} p-1& i=1\\ p*\ ...

  6. nssl1232-函数【数论,欧拉函数,莫比乌斯反演】

    正题 题目大意 ∑d∣nf(d)=n\sum_{d|n}f(d)=nd∣n∑​f(d)=n 对于n个aia_iai​ 求 ∑i=1nf(ai)\sum_{i=1}^nf(a_i)i=1∑n​f(ai​ ...

  7. 数论 —— 欧拉函数

    [定义] 对正整数 n,欧拉函数是小于等于 n 的数中与 n 互质的数的个数,记作: 例如:,因为 1.3.5.7 均与 8 互质. [性质] 1)若 n 为一素数 p,则: 2)若 n 为一素数 p ...

  8. [数论-欧拉函数的应用]NEFU 1115

    description 在高数课上老师给出了一个等式GCD(n-a,n)*GCD(n-b,n)=n^k; 已知,n,k,问同学们有多少组(a,b)满足这个等式.结果对10^9+7取模. 1<=a ...

  9. [HAOI2012]外星人——数论欧拉函数

    题目描述 艾利欧在她的被子上发现了一个数字 NNN,他觉得只要找出最小的 xxx 使得 φx(N)=1\varphi^x(N)=1φx(N)=1 根据这个 xxx 她就能找到曾经绑架她的外星人的线索了 ...

最新文章

  1. 滴滴成立AI Labs 加大人工智能领域投入
  2. 允许使用抽象类类型 isearchboxinfo 的对象_Java面向对象编程三大特征 - 多态
  3. 【Java并发编程】java高并发的解决方案(一)
  4. delphi image 编辑器_照片拼图编辑器app下载-照片拼图编辑器下载 v1.0.0 安卓版
  5. 利润最高的6个产品都能创造富豪
  6. SPOJ DISUBSTR Distinct Substrings 后缀数组
  7. 如何实现Solidworks批量修改工程图模板?
  8. Google map API:查询地理位置和经纬度信息示例
  9. 用图层蒙版抠图并合成(每天一个PS小项目)
  10. c语言定义数组uint,c - 将uint8_t数组转换为C中的uint16_t值 - 堆栈内存溢出
  11. Assembler如何把跳转汇编变成机器码的(四)
  12. FineReport填报--批量删除
  13. vmware虚机安装vmtool
  14. matlab ar谱分析,AR模型功率谱估计的典型算法比较及MATLAB实现
  15. 配置maven私服nexus
  16. 台式计算机硬盘英寸,浅谈3.5英寸硬盘与2.5英寸硬盘的区别
  17. jQuery笔记——UI
  18. TOEIC考试时间分配详解
  19. Nature封面论文撤稿闹大了,认定首个室温超导体数据存疑!领域大佬尝试复现6次全失败,9位作者集体抗议无效...
  20. Java学习--day02---运算,一些重要的程序

热门文章

  1. linux cpu核数查看_Linux日常必备的 8 个小技能
  2. python图片解析库_python用来获得图片exif信息的库实例分析
  3. android模拟器无法拍照,为什么dafault相机无法在android模拟器中工作?
  4. c++ long 转 short_C精品编程之——C语言的数据类型、运算符、表达式,精品课程...
  5. js监听多个事件_JavaScript中的事件与异常捕获解析
  6. 静止的人如何看待高速运动的球?
  7. 我的电脑不联网,很安全!黑客:你还有风扇呢
  8. 和爸爸的聊天永远是个谜。。 | 今日最佳
  9. 16个让你烧脑让你晕的悖论
  10. 如何判断程序员是在装逼还是有真本事?