约数个数函数的一个性质证明,以及其推广
要用到这个性质,而且网上几乎没有能看的证明,所以特别提出来整理一下。
Original(2020/02)
二维
其中 是约数个数函数,即
(看上去比较不可思议对吧)
右侧的枚举,一部分因子算多了(比如当 且额外有 时,可以枚举出 ),一部分因子又没有算(比如当 时的 )。但是算多和算少之间达成了诡异的平衡。
首先考虑 互质的情况。显然此时右式中的 恒成立。而左式可以通过积性函数的性质拆开。两侧都为 ,成立。(其实并没有按是否互质讨论的必要,但是这样想能让我们的思路更加清晰)
那么考虑 时的情况。不妨先证明 ( 是素数,这两个 是同一个数)时等式成立。
这部分的证明是容易的。根据约数个数的定义,左式显然为 。对于右式,设 ,若要使 成立, 中至少有一个为 。那么当 时,;当 时, ;其他情况都不满足条件。排除重复的 ,共有 个情况成立,与左式相同,故等式成立。
讨论更加一般的情况。有了前面的证明,我们考虑将 分解质因数后食用,分解后的每一项的形式为 。左边根据约数个数基本性质“指数加一连乘积”,即每一个 对应的 之积。对于右侧,前证说明对于每个 ,合法的 的选择有对应的 种,要让 需要每一个 都是合法情况。而每个 相对独立,其本质就是许多个“选择”,直接用乘法原理合并起来即可,于是也与左式相同。
用通俗一点的说法,我不管其他的 到底需要让 满足什么样的条件才能使 ,反正在我这个 这里只有 个方案有合法的可能性。
总之这样就证毕了。
证明思路很像积性函数的合并,也许对其他一些积性函数命题的证明这种方法也管用。
参考:
https://www.luogu.com.cn/blog/_post/89727
https://www.luogu.com.cn/blog/_post/39908
高维
对于形如
的高维拓展,证明思路基本相同,不再赘述。(如果觉得有点迷可以先跳过,Extended里的证明更加接近本质)
Extended (update 2020/03/08)
下面研究 Original 推广到广义约数个数函数的形式。
二维
其中 是广义的约数个数函数,即
显然中式和右式是等价的。现证明左式和右式等价。
证明思路与上面基本一致。同样的,我们先解决 的情况。
首先,直接由定义得出左式:
同样设 。分析 的意义,它的意思是若 中不含 ( ),则 可以随便选( );若 中含 ( ),则 就必须包含所有的 ( ),否则 里就含有 了;其他情况不满足条件 。
即合法的情况为 和 。
那么,根据右式的形式,可以得出
该式实际上只是将左式的枚举从 那里切开了。两式是等价的。
那么和上面一样的,对于一般的情况分解质因数,对每一个 分别考虑,积性合并即可。全部乘起来的依据也是乘法原理( 就是在枚举所有的方案对应贡献乘积之和)。可能有人问:这里的 不是发生变化了吗?其实 充当的是一个 的全集,不是 了也不影响 的取值,所以是没有关系的。可以参考一下 Original 里“通俗一点的说法”。
高维
形如
的高维拓展, 部分就是如 , , 两两配对的形式,这样来限制取值范围。
证明思路基本相同,同样写出合法情况 , , ,对应 ,就容易证明了。
没看到过要用这个的题,已对拍检验正确性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!