容斥原理
1.容斥原理
容斥原理用来解决求解的问题.
具体的,定义,我们有公式:
由公式形式也不难观察到容斥原理可以化并为交.
2.欧拉函数
欧拉函数,若,则小于等于中与不互质的数是或...或的倍数,为统计倍数的数量,设,由于是"或"的关系,我们考虑化并为交.更具体的,举个例子,求,则为或的倍数,根据容斥原理则为.为了确定符号,我们引入莫比乌斯函数,其定义为:
当我们发现容斥式子中所有的中均不含平方因子,即这个对答案并没有贡献,系数为零,因此:
我们考虑这个式子如何化简,我们发现含有平方因子时对答案没有贡献,因此若,则,而此时由于当中含有偶数个质数时为,奇数个质数时为,那么我们发现这个系数分布与是一致的----枚举每一个可能的质数乘积,偶数质数为正,奇数质数为负,甚至连都一模一样,因此我们有结论:
至此,我们推出了欧拉函数的定义式.
3.莫比乌斯反演
我们研究上文所提到的的性质,发现当时有:
如何证明呢?根据上文欧拉函数定义式的证明,我们已经深刻认识到了所对应的容斥原理系数的性质----奇数为负,偶数为正.因此我们尝试构造上述求和式有实际意义的场景.我们假设每个质数对应一个集合,而对于一个合数,.我们发现在容斥原理公式中,奇数个质数系数应为,而偶数个质数的乘积应为,这与是相反的.因此根据容斥原理,可用如下式子表示:
但上面的式子有一个问题:我们在容斥求并集时,并没有定义,因此我们应该将额外的加回来.
综上所述,我们有公式
这时,我们发现离目标已经不远了,我们只需要构造即可,我们发现,只要让所有的,此时所有的都有且仅有同一个元素,因此它们的并集也为,因此上述所有集合的大小均为,与一同代入上式可得:
证毕.
另外,特殊的,我们发现,因此有性质:
当且仅当成立.
下面来看莫比乌斯反演如何证明.
莫比乌斯反演:若,则有.
我们尝试将条件式代入右式,发现有:
我们考虑每一个对总答案的贡献,发现每一个满足的二元组对答案都有的贡献,更换求和顺序,有:
由于上面我们证出的性质,时,,因此对所有,对答案都没有贡献,只需令即可.因此有:
即证.
4.小结
容斥定理有化并为交的功能,在许多情况下,一些有性质的集合做交集仍有很好的性质,而作并集就会变得乱七八糟.举个例子,,这时就有,这与的形式是一致的.我们利用这样的性质,化并为交地求出了欧拉函数的定义式.另外的,我们发现莫比乌斯函数与容斥原理有千丝万缕的联系,因此考虑其实际意义,找到这个函数的性质,进而证明了莫比乌斯反演.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现