洛谷P3327 [SDOI2015]约数个数和

洛谷P4619 [SDOI2018]旧试题

要用到这个性质,而且网上几乎没有能看的证明,所以特别提出来整理一下。

\[
d(AB) = \sum_{x|A} \sum_{y|B} [\gcd (x,y) = 1]
\]

(看上去比较不可思议对吧)

右侧的枚举,一部分因子算多了(比如当 \(\gcd(x,y)=1\) 且额外有 \(x|B,y|A\) 时,可以枚举出 \(x*y = y*x\) ),一部分因子又没有算(比如当 \(\gcd(A,B) \not= 1\) 时的 \(A*B\) )。但是算多和算少之间达成了诡异的平衡。(并没有找出这种平衡如何证明,下面的证明是从另一个角度得来的)

首先考虑 \(A,B\) 互质的情况。显然此时右式中的 \([\gcd (x,y) = 1]\) 恒成立。而左式可以通过积性函数的性质拆开。两侧都为 \(d(A)*d(B)\) ,成立。(其实并没有这样分互质不互质讨论的必要,但是这样想能让我们的思路更加清晰)

那么考虑 \(\gcd(A,B) \not= 1\) 时的情况。不妨先证明 \(A = p^a, B = p^b\) ( \(p\) 是素数)时等式成立。

这部分的证明是容易的。根据约数个数的定义,左式显然为 \(a+b+1\)。对于右式,设 \(x = p^c, y= p^d\) ,若要使 \([\gcd (x,y) = 1]\) 成立, \(c,d\) 中至少有一个为 \(0\) 。那么当 \(b=0\)时,\(c \in [0, a]\);当 \(a=0\) 时, \(c \in [0,b]\)。排除重复的 \(c=0, d=0\) ,共有 \(a+b+1\) 个情况成立,与左式相同,故等式成立。

讨论更加一般的情况。有了前面的证明,我们考虑将 \(AB\) 分解质因数后食用,分解后的每一项的形式为 \(p^{a+b}\) 。左边根据约数个数基本性质“指数加一连乘积”,即每一个 \(p\) 对应的 \((a+b+1)\) 之积。对于右侧,前证说明对于每个 \(p\) ,合法的 \(c,d\) 的选择有对应的 \(a+b+1\) 种,要让 \([\gcd(x,y)=1]\) 需要每一个 \(p\) 都是合法情况。而每个 \(p\) 相对独立,其本质就是许多个“选择”,直接用乘法原理合并起来即可,于是也与左式相同。这样就证毕了。

证明思路很像积性函数的合并,也许对其他一些积性函数命题的证明这种方法也管用。

对于形如
\[
d(ABC) = \sum_{x|A} \sum_{y|B} \sum_{z|C} [\gcd (x,y) = 1] [\gcd (y,z) = 1] [\gcd (x,z) =1]
\]

的加强多元版,证明思路基本相同,不再赘述。

约数个数函数(d)的一个性质证明的更多相关文章

  1. 【[SDOI2015]约数个数和】

    慢慢化柿子吧 要求的是这个 \[\sum_{i=1}^N\sum_{j=1}^Md(ij)\] 神奇的约数个数函数有一个这样的性质 \[d(ij)=\sum_{x|i}\sum_{y|j}[(x,y) ...

  2. 洛谷 P3327 [SDOI2015]约数个数和 || Number Challenge Codeforces - 235E

    https://www.luogu.org/problemnew/show/P3327 不会做. 去搜题解...为什么题解都用了一个奇怪的公式?太奇怪了啊... 公式是这样的: $d(xy)=\sum ...

  3. BZOJ 3994: [SDOI2015]约数个数和 [莫比乌斯反演 转化]

    2015 题意:\(d(i)\)为i的约数个数,求\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m d(ij)\) \(ij\)都爆int了.... 一开始想容斥一下 ...

  4. 【搜索】【约数个数定理】[HAOI2007]反素数ant

    对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数. 所以,n以内的反质数即为不超过n的 ...

  5. Mobius反演与积性函数前缀和演学习笔记 BZOJ 4176 Lucas的数论 SDOI 2015 约数个数和

    下文中所有讨论都在数论函数范围内开展. 数论函数指的是定义域为正整数域, 且值域为复数域的函数. 数论意义下的和式处理技巧 因子 \[ \sum_{d | n} a_d = \sum_{d | n} ...

  6. 积性函数&线性筛&欧拉函数&莫比乌斯函数&因数个数&约数个数和

    只会搬运YL巨巨的博客 积性函数 定义 积性函数:对于任意互质的整数a和b有性质f(ab)=f(a)f(b)的数论函数. 完全积性函数:对于任意整数a和b有性质f(ab)=f(a)f(b)的数论函数 ...

  7. LOJ #2185 / 洛谷 P3329 - [SDOI2015]约数个数和(莫比乌斯函数)

    LOJ 题面传送门 / 洛谷题面传送门 题意: 求 \(\sum\limits_{i=1}^n\sum\limits_{j=1}^md(ij)\),\(d(x)\) 为 \(x\) 的约数个数. \( ...

  8. 编写一个c函数,该函数给出一个字节中被置为1的位的个数

    请编写一个c函数,该函数给出一个字节中被置为1的位的个数 #include <stdio.h> void fun(char ch) { int i; int temp; int count ...

  9. Luogu P3327 [SDOI2015]约数个数和

    又是恶心的莫比乌斯反演,蒟蒻我又是一脸懵逼的被CXR dalao狂虐. 题目要求\(ans=\sum_{i=1}^n \sum_{j=1}^m d(ij)\),其中\(d(ij)\)表示数\(x\)的 ...

随机推荐

  1. POJ 1961:Period

    Period Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 14280 Accepted: 6773 Description F ...

  2. 用fiddler监控移动端的通讯

    用fiddler监控移动端的通讯  1 依次打开Fiddler->Tools->Fiddler Options在[Connection]面板里将Allow remote computers ...

  3. Linux gcc(ar命令)打包库到另一个库中的另外一种方法

    最近的项目中需要在Libcurl写一个wrapper,最好的办法是把我的wrapper和libcurl包在一起,做一个新的静态库 但是很遗憾,直接用以下命令产生的libmywrapper.a 是不能用 ...

  4. 英语语法 - the + 形容词 的意义

    1,表示一类人  (复数) the young 青年 the old 老年the poor 穷人 the rich 富人the sick 病人 The old need care more than ...

  5. Redis 详解 (四) redis的底层数据结构

    目录 1.演示数据类型的实现 2.简单动态字符串 3.链表 4.字典 5.跳跃表 6.整数集合 7.压缩列表 8.总结 上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中, ...

  6. .net Form 的Autoscalemode属性

    .net Form 的Autoscalemode属性如果设置成Font 将会随着系统字体的大小来改变form大小 有时候会造成布局混乱,小心使用

  7. (二分查找)LowerBound

    在包含size个元素的,从小到大顺序的int数组a里查找比给定整数p小的,下标最大的元素,找不到返回-1 题解: int LowerBound(int a[],int size,int p) { in ...

  8. 环境变量和文件查找&文件打包与解压缩

    环境变量和文件查找 介绍环境变量的作用与用法 及几种搜索文件的方法 学会这些技巧可以高效地使用 Linux 知识点:环境变量的设置 环境变量的修改 环境变量 要解释环境变量,得先明白变量是什么,准确的 ...

  9. 2.2 学习总结 之 servlet 的两次抽取

    说在前面 昨天 完成了文件上出的学习和实践 今天 学习servlet的两次抽取,以加快编写工程的速度 一.servlet 抽取的原因: 刚刚学习使用servlet写后台,往往只使用一个servlet来 ...

  10. 每天一点点之vue框架开发 - 引入Jquery

    1. 安装jquery npm install jquery --save-dev 2.在build/webpack.base.conf.js中添加如下内容 var webpack = require ...