首页 > 其他分享 >反演与容斥 学习笔记

反演与容斥 学习笔记

时间:2023-12-02 12:57:09浏览次数:46  
标签:sum 容斥 笔记 反演 beta alpha binom

反演与容斥 学习笔记

二项式反演

函数 \(f, g\),有以下结论:

\[f_k = \sum_{i = 0}^k \binom{k}{i}g_i\Longleftrightarrow g_k = \sum_{i = 0}^k(-1)^{k - i} \binom{k}{i}f_i \]

证明:

考虑右式

\[\begin{aligned} &\sum_{i = 0}^k(-1)^{k - i} \binom{k}{i}f_k\\ =&\sum_{i = 0}^k(-1)^{k - i} \binom{k}{i}\sum_{j = 0}^i \binom{i}{j}g_j\\ =&\sum_{j = 0}^k g_j\sum_{i = j}^k(-1)^{k - i} \binom{k}{i}\binom{i}{j}\\ =&\sum_{j = 0}^k g_j\sum_{i = j}^k(-1)^{k - i} \binom{k}{j}\binom{k - j}{i - j}\\ =&\sum_{j = 0}^k g_j\binom{k}{j}\sum_{i = j}^k(-1)^{k - i} \binom{k - j}{i - j}\\ =&\sum_{j = 0}^k g_j\binom{k}{j}\sum_{i = 0}^{k - j}(-1)^{k - i - j} \binom{k - j}{i}\\ &\because (1-1)^{k} = \sum_{i = 0}^k(-1)^{k - i}\binom{k}{i}\\ =&\sum_{j = 0}^k g_j\binom{k}{j}(1-1)^{k - j}\\ \end{aligned} \]

当 \(k \ne j\) 时,这一项是 \(0\),当 \(k = j\) 时,得到:

\[g_k\binom{k}{k} = g_k \]

证毕。

类似的,有推论:

推论 1

\[f_k = \sum_{i = k}^n \binom{i}{k}g_i\Longleftrightarrow g_k = \sum_{i = k}^n(-1)^{i - k} \binom{i}{k}f_i \]

推论 2

\[f_k = \sum_{i = 0}^k(-1)^{i} \binom{k}{i}g_i\Longleftrightarrow g_k = \sum_{i = 0}^k(-1)^{i} \binom{k}{i}f_i \]

证明类似。

广义容斥原理

现在有一些物品,每个物品有若干性质,把拥有第 \(i\) 个性质的物品的集合设为 \(A_i\),一共有 \(n\) 个性质,设全集为 \(\Omega\)。

则在这些物品种选取出若干物品,使得至少一共有 \(k\) 个不同性质的方案数为:\(\alpha_k\)。

则有:

\[\alpha_k = \sum_{T\subseteq\{1, 2, ..., n\}, |T| = k}|\bigcap_{i\in T}A_i| \]

但是我们发现,对于一个拥有 \(t\) 个性质的物品,它被 \(\alpha_k\) 统计了 \(\binom{k}{t}\) 次。

设 \(\beta_k\) 为恰好有 \(k\) 个不同性质的方案数,因此有:

\[\beta_{k} = \alpha_k - \sum_{i = k + 1}^n\binom{i}{k}\beta_k\\ \alpha_k = \sum_{i = k}^n\binom{i}{k}\beta_k \]

根据二项式反演推论 1,我们立即得到:

\[\beta_{k} = \sum_{i = k}^n(-1)^{i - k}\alpha_i \]

这被称作广义容斥原理,容斥原理可以代入 \(k = 0\) 立即得到。

欧拉反演

\[n = \sum_{d|n}\varphi (d) \]

证明:

考虑一组分数: \(\dfrac{1}{n}, \dfrac{2}{n}, \dfrac{3}{n}, ...,\dfrac{n}{n}\),化简分数之后得到一组形如:\(\dfrac{a}{d}\) 的最简分数,其中 \((a, d) = 1\),所以对于一个固定的 \(d\),一共有 \(\varphi (d)\) 个 \(a\),又因为分数化简的性质,\(d | n\),所以分数的个数就是 \(\sum_{d | n}\varphi(d) = n\)。

证毕。

莫比乌斯反演

\[[n = 1] = \sum_{d | n} \mu(d) \]

证明:

考虑算术基本定理的形式: \(n = \prod p_i^{\alpha_i}, m = \prod p_i\),因为莫比乌斯函数在有平方因子的时候是 \(0\),所以上式可以等价地写成:

\[\sum_{d | m}\mu(d) \]

\(m\) 的每个因子相当于在 \(\{p_1, p_2, ..., p_k\}\) 中任选几个数乘起来。

所以得到:

\[\sum_{d | m}\mu(d) = \sum_{i = 0}^k\binom{k}{i}(-1)^{i} = (1-1)^k \]

所以在 \(k = 0\Longleftrightarrow n = 1\) 时式子取 \(1\),否则式子取 \(0\)。

证毕。

参考资料

  1. 『容斥原理和广义容斥原理』 - Parsnip

  2. 莫比乌斯反演 - OI wiki

标签:sum,容斥,笔记,反演,beta,alpha,binom
From: https://www.cnblogs.com/MoyouSayuki/p/17871458.html

相关文章

  • LLM 学习笔记-transformers库的 PreTrainedModel 和 ModelOutput 到底是什么?
    闲言碎语我在刚开始接触huggingface(后简称hf)的transformers库时候感觉很冗杂,比如就模型而言,有PretrainedModel,AutoModel,还有各种ModelForClassification,ModelForCausalLM,AutoModelForPreTraining,AutoModelForCausalLM等等;不仅如此,还设计了多到让人头皮发麻的各......
  • 【Android逆向】一些零碎的笔记
    *在/sdcard/下的文件无法执行,必须将其拷贝到其它位置执行,如/data/目录,/data/目录中是system分组,可以执行程序;*每个应用都会创建一个对应的应用用户,如:cn.abcpiano.pianist包名的应用,创建了一个u0_a147用户;* getpropro.product.cpu.abi ......
  • 笔记06:循环和字符串
    笔记06:循环while循环whileconditionisTrue: statement(s) ifcondition: break else:continueelse:break语句跳出循环体continue语句跳出循环体并回到循环体的判断位置else语句当循环正常结束时,进行else语句for循环forvariablein可迭代对象: statement(s......
  • 20211326学习笔记12
    第十四章数据库系统一、知识点归纳(一)MySQL简介MySQL(MySQL2018)是一个关系数据库系统(Codd1970)c在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系......
  • 梦断代码 读书笔记03
    第9章方法IBM执行强制进度纪律的成功基于两条原则:1)计划是强制性的2)计划必须符合现实情况----“从底向上”,依据那些负责按计划执行的程序员的经验和知识而来,而不是“从顶至下”,靠管理者拍脑袋或对市场的期望而来2001年17位领军人物,提出了敏捷软件开发宣言,向这种笨重的CMM宣战,从此......
  • 《信息安全系统设计与实现》学习笔记12
    《信息安全系统设计与实现》学习笔记12第十四章MySQL数据库系统MySQL简介MySQL(MySQL2018)是一个关系数据库系统(Codd1970)。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息......
  • C++学习笔记——函数探幽
    C++内联函数内联函数是一种用空间换时间的技术,是C++提高程序运行速度做的改进。运行程序时操作系统将指令载入计算机内存中,并逐条执行这些指令,遇到循环或分支时向前或向后跳转到特定的地址(每条指令都有特定的内存地址)。常规函数也是如此,在调用常规函数时立即存储该指令的地址......
  • 《深度学习入门——自制框架》读书笔记
    1.自动微分step2创建变量的函数#箱子类,存放一个变量数据classVariable: def__init__(self,data): self.data=data#函数类的基类classFunction:#__call__方法是一个特殊的Python方法。#定义了这个方法后,当f=Function()时,就可以通过编写f(...)来......
  • 计算机网络笔记第一章
    计算机网络一、计网体系结构计算机网络概述计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是互连的,自治的计算机集合。互连:通过通信链路互联互通。自治:无主从关系计算机网络功能......
  • 2023年11月30日阅读笔记
    《白帽子讲web安全》为何要了解Web安全不遵守整洁代码之道和安全系统之道的系统就像一颗定时炸弹,你不知道它什么时候就会爆炸又或者是虚晃一枪,又让我想起整洁代码之道一书的封面这张图是M104:草帽星系,其核心是一个质量超大的黑洞,有100万个太阳那么重,环绕着M104的光环就......