tips :

积性函数 F (n) = Π F (piai )

若F (n), G (n)是积性函数则

F (n) * G (n)

Σd | n F (n)

是积性函数

n = Σd | n  φ (d)

1 = Σd | n  μ (d)

Σgcd (i, n) = 1 i = n * φ (n) / 2

Problem1

F (n) = Σ1<= i <= n gcd(i, n), n <= 1000000

Sol

枚举结果

F (n) = Σd | n d * Σgcd (i, n) = d 1

F (n) = Σd | n d * Σgcd (i / d, n / d) = 1 1

F (n) = Σd | n d * Σgcd (i / d, n / d) = 1 1

F (n) = Σd | n d * φ (n / d)

单次计算O (sqrt N)

筛法O (N)

Problem 2

F (n) = Σ1<= i <= n gcd (i, n), n <= 2147483647               (POJ longge's problem)

Sol

由P1可知F (n)是积性函数 因此考虑计算F (pk)

由P1 易知

F (pk) = p * F (pk - 1)  + (p - 1)pk - 1

单个F(n)可以O (sqrt N)时间有他的质因子分解计算得到

Problem 3

F (n) = Σ1<= i <= n lcm(i, n), n <= 1000000             (SPOJ LCMSUM)

显而易见的变形

F (n) = Σ1<= i <= n i * n / gcd (i, n)

F (n) =Σd | n  Σgcd (i, n) = d i * n / d

F (n) =Σd | n n / d * Σgcd (i, n) = d i

F (n) =Σd | n n / d * Σgcd (i / d, n / d) = 1 i

F (n) =Σd | n n / d * d * Σgcd (i / d, n / d) = 1 i / d

令j = i / d

F (n) =Σd | n n * Σgcd (j, n / d) = 1 j

由Σgcd (i, n) = 1 i = n * φ (n) / 2

F (n) =Σd | n n * (n / d) * φ (n / d) / 2

F (n) =n * Σd | n (n / d) * φ (n / d) / 2

F (n) =n / 2 * Σd | n d * φ (d)

筛出 Σd | n d * φ (d)     O (N)-O(1)

Problem 4

F (n) = Σ1<= i <= n Σ1<= j <= n gcd (i, j)      n <= 1000000          (SPOJ GCDEX)

Sol

G (n) = Σd | n d * φ (n / d)

F (n) = Σ1<= i <= n G (i)

筛出G (i) 前缀和

Problem 5

求F (n, m) = [n / d] * [m / d]

Sol

研究退化情况 m = 1 F (n) = [n / d]

共有sqrt n种不同取值

F (n, m) = [n / d] * [m / d]

共有sqrt n + sqrt m种不同取值  归并这两种取值

Problem 6

多组询问n, m 求F (n, m) = Σ1<= i <= n Σ1<= j <= m gcd (i, j)

Sol

F (n, m) = Σ1<= i <= n Σ1<= j <= m Σ d | gcd (i, j) φ (d)

F (n, m) = Σ d φ (d) Σ1<= i <= n d | i Σ1<= j <= m d | j 1

F (n, m) = Σ d φ (d) * [n / d] * [m / d]

可以经P5解决

Problem 6

多组询问n, m 求F (n, m) = Σ1<= i <= n Σ1<= j <= m gcd (i, j) = 1 1

Sol

F (n, m) = Σ1<= i <= n Σ1<= j <= m Σ d | gcd (i, j) μ (d)

F (n, m) = Σ d μ (d) Σ1<= i <= n d | i Σ1<= j <= m d | j 1

F (n, m) = Σ d μ (d) * [n / d] * [m / d]

可以经P5解决

Problem 7

F (n, m) = Σ1<= i <= n Σ1<= j <= m Σ gcd (i, j) <- prime 1            (BZOJ YY的GCD)

Sol

F (n, m) = Σ1<= i <= n Σ1<= j <= m Σ gcd (i, j) <- prime 1

F (n, m) = Σ1<= i <= n Σ1<= j <= m Σ p <- prime gcd (i, j) = p 1

F (n, m) = Σ p <- prime Σ1<= i <= n Σ1<= j <= m  gcd (i, j) = p 1

F (n, m) = Σ p <- prime Σ1<= i <= n / p Σ1<= j <= m / p gcd (n / p, m / p) = 1  1

可以经P6解决

(转载)有关反演和gcd的更多相关文章

  1. 【莫比乌斯反演】关于Mobius反演与gcd的一些关系与问题简化(bzoj 2301 Problem b&&bzoj 2820 YY的GCD&&BZOJ 3529 数表)

    首先我们来看一道题  BZOJ 2301 Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd( ...

  2. 数学:莫比乌斯反演-GCD计数

    Luogu3455:莫比乌斯反演进行GCD计数 莫比乌斯反演就是用来解决这一类问题的,通常f函数是要求的那个,F函数是显然的 这样利用F的结果就可以推出来f的结果 在计算结果的时候整除分快儿一下就可以 ...

  3. ZOJ 3435 Ideal Puzzle Bobble 莫比乌斯反演

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4119 依然是三维空间内求(1,1,1)~(a,b,c)能看到的整点数,平移一下 ...

  4. [洛谷2257]YY的GCD 题解

    整理题目转化为数学语言 题目要我们求: \[\sum_{i=1}^n\sum_{i=1}^m[gcd(i,j)=p]\] 其中 \[p\in\text{质数集合}\] 这样表示显然不是很好,所以我们需 ...

  5. NOI2010能量采集(数论)

    没想到NOI竟然还有这种数学题,看来要好好学数论了…… 网上的题解: 完整的结题报告: 首先我们需要知道一个知识,对于坐标系第一象限任意的整点(即横纵坐标均为整数的点)p(n,m),其与原点o(0,0 ...

  6. OI题目类型总结整理

    ## 本蒟蒻的小整理qwq--持续更新(咕咕咕) 数据结构 数据结构 知识点梳理 数据结构--线段树 推荐yyb dalao的总结--戳我 以后维护线段树还是把l,r写到struct里面吧,也别写le ...

  7. loj2000[SDOI2017]数字表格

    题意:f为Fibnacci数列.求$\prod_{1<=i<=n,1<=j<=m} f[gcd(i,j)]$. n,m<=1e6. 标程: #include<bit ...

  8. 莫比乌斯反演学习笔记(转载自An_Account大佬)

    转载自An_Account大佬 提示:别用莫比乌斯反演公式,会炸的 只需要记住: [gcd(i,j)=1]=∑d∣gcd(i,j)μ(d)[gcd(i,j)=1]=\sum_{d|gcd(i,j)}\ ...

  9. 洛谷P2568 GCD (欧拉函数/莫比乌斯反演)

    P2568 GCD 题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 输入输出格式 输入格式: 一个整数N 输出格式: 答案 输入输出样例 输入 ...

随机推荐

  1. Kinetic使用注意点--lable

    new Lable(config) 参数: config:包含所有配置项的对象. { x: "横坐标", y: "纵坐标", width: "宽度&q ...

  2. iOS:横向使用iPhone默认的翻页效果

    大致思路使用两层辅助UIView的旋转来实现添加后的View的横向翻页效果 CATransform3D transformA = CATransform3DRotate(CATransform3DId ...

  3. iOS 基础 第三天(0807)

    0807 成员变量作用域###### 如下图所示: 这里要注意手写的成员变量/实例变量默认的作用域是private,所以外部指针类型的对象无法直接访问,这起到一定的保护作用.但可以在当前类内部@imp ...

  4. chm文件打开,有目录没有内容

    下载下来的一些chm文件,打开的是否提示“打开此文件前总是询问”,不理睬直接打开后,只有目录,页面内容都显示“已取消到本页的导航”.原因是该CHM文件的发行商未知,将“打开此文件前总是询问”选项取消后 ...

  5. java程序练习:数组中随机10个数中的最大值

    //定义输入:其实是一个可以保存10个整数的数组 //使用循环遍历,生成10个随机数,放入每个元素中//打桩,数组中的内容 //定义输出变量 //将数组中第一个元素取出,保存在max中,当靶子 //遍 ...

  6. 20130729--Samba的学习

    (一).基本概念 samba是一个能让你的Unix计算机和其它MS Windows计算机相互共享资源的软件. samba提供有关资源共享的三个功能,包括:smbd,执行它可以使Unix能够共享资源给其 ...

  7. How To Monitor Remote Linux Host using Nagios 3.0

    In the previous post Nagios 3.0 Jumpstart guide , I explained the overview, installation and configu ...

  8. VS2005 VS2008 Manifest 配置问题总结

    一.问题 编译某个遗留工程后,运行程序时报错,“由于应用程序的配置不正确,应用程序无法启动.重新安装应用程序可能会解决这个问题.” 查看生成的Manifest文件如下: <?xml versio ...

  9. hdu 4558 剑侠情缘

    思路:dp[i][j][k]表示在点(i,j)处能量的差值为k的方案数 转移的时候把差值取相反数就实现轮流了 代码如下: #include<iostream> #include<st ...

  10. MVC 国内架构设计

    http://www.cnblogs.com/guomingfeng/p/mvc-ef-query.html http://www.cnblogs.com/haogj/p/3127795.html