二项式反演小笔记

二项式反演小笔记

总体来讲是对XuYueming巨佬笔记的摘抄,或者对他笔记的简化版。省略了很多详尽的证明过程以及例题,但是关键的知识脉络框架都在就对了。

原版链接:这里

引理

Lemma-1

\(\sum_{i=0}^n\binom{n}{i}(-1)^i=[n=0]\)

  • 本质上为二项式定理推论。取二项式定理中 \(a=1,b=-1\) 即得。

Lemma-2

\(|\bigcup_{i=1}^nS_i|=\sum_{m=1}^n(-1)^{m-1}\sum_{a_i<a_{i+1}}|\bigcap_{i=1}^m|S_{a_i}\)

  • 说人话,这东西 \(n=3\) 的时候就是那个 \(|A\cup B\cup C|=(|A|+|B|+|C|)-(|A\cap B|+|A\cap C|+|B\cap C|)+(|A\cap B\cap C|)\)

Lemma-3

\(\binom{n}{i}\binom{i}{j}=\binom{n}{j}\binom{n-j}{i-j}\)

  • 考虑组合意义即可。等号左边相当于把 \(n\) 个元素分成 \(n-i\)\(i-j\)\(j\) 三份。右边则为 \(j\)\(i-j\)\(n-j-(i-j)=n-i\) 三份。显然二者等价。

第零定理

Theorem-0

\(g(x)=\sum_{i=0}^x(-1)^i\binom{x}{i}f(i)\Leftrightarrow f(x)=\sum_{i=0}^x(-1)^i\binom{x}{i}g(i)\)

原博客认为虽然这个模型不太能赋予什么组合意义,但是理解它的证明模式对于理解后文非常重要。这里略述。

容斥一句话证明

基于 \(|\bigcap_{i=1}^n\overline{S_i}|=|U|-|\bigcup_{i=1}^nS_i|\)\(\overline{\overline{S_i}}=S_i\),你令 \(f(x)\) 表示任意 \(x\)\(\overline{S_i}\) 的交集大小,\(g(x)\) 表示任意 \(x\)\(S_i\) 的交集大小,把引理二写开之后就发现把 \(f(x),g(x)\) 代换进去就有如上关系式。

代数一句话证明

\(f(x)=\dots\) 里的 \(g(i)\)\(f(i)\) 带掉,尝试证明左右两边恒等:交换求和符号(即改变枚举顺序),然后用一下上文的引理三和引理一即可。

钦定类问题

概述

下文包含大段摘抄。

所谓「钦定类问题」,指的是我们在解决问题时,强制选择某些限制必须满足,不管剩下的限制,即剩下的限制可以满足可以不满足。这个强制选择某些限制必须满足的过程,就是「钦定」。我们发现,在「钦定」后的基础上求解问题,就不需要考虑限制的问题,也就方便了我们对问题的求解。

在「钦定意义」下,我们能够求出「至少」满足 \(x\) 个限制的答案;也可以通过「钦定」\(n-x\) 个限制不能满足,求出在「钦定意义」下,「至多」满足 \(x\) 个限制的答案,这将在下文进一步说明。注意到,这里的「至少」与「至多」是「钦定意义」下的,不是通常意义下的。也就是说可能会有重复计数的问题,我们将在下文进一步分析。

为了方便叙述,假设下文的「至少」和「恰好」均为「钦定意义」下的。

说大白话,举个例子。\(3\) 个元素摆在你面前。你钦定选 \(2\) 而随便选上了 \(1,3\) 和你钦定选 \(1\) 而随便选上了 \(2,3\) 视作两种方案。

Theorem-1a:钦定至少

\[g(x)=\sum_{i=x}^n\binom{i}{x}f(i)\Longleftrightarrow f(x)=\sum_{i=x}^n(-1)^{i-x}\binom{i}{x}g(i) \]

此模型用来解决「钦定意义」下「至少」和「恰好」的转化。假设原问题有 \(n\) 个限制,我们设\(f(x)\) 表示「恰好」满足 \(x\) 个限制的方案数,\(g(x)\) 表示「至少」满足 \(x\) 个限制的方案数。那么 \(f(x)\) 即为我们的答案,而 \(g(x)\) 就是我们通过其他算法求出的结果。

例题:LGP6512

题意简述:
————————————
给你 \(n\) 个长度为 \(4\) 的字符串,你需要在其中挑出两个送给她,满足恰好有 \(m\) 位不同,请问你有多少种选择的方案。

“恰好有 \(m\) 位不同”显然和“恰好有 \(4-m\) 位相同”是一个意思。我们不妨转化为“相同”考虑,这样思考起来更符合直觉。

你将“第 \(i\) 位相同”看做一个限制。我们现在要求的就是“恰好满足 \(m\) 个限制”的方案数,即求 \(f(m)\)

考虑上二项式反演。我们发现由于每个字符串都是个整体,不能分割开来考虑,所以以“研究更小规模问题”视角考虑的“选择”模型并不适用。我们需要使用“钦定”模型。

\(g(i)\) 为钦定 \(i\) 个位置必须相同的方案数。具体的判别用字符串哈希统计。最后反演一波即可。

Theorem-1b:钦定至多

\[g(x)=\sum_{i=0}^x\binom{n-i}{n-x}f(i)\Longleftrightarrow f(x)=\sum_{i=0}^x(-1)^{x-i}\binom{n-i}{n-x}g(i) \]

使用「钦定」求出的答案一般来说都是「至少」满足的答案。但是,有一些问题,我们会通过「钦定」 \(n-x\) 个限制不能满足,求出在「钦定意义」下,「至多」满足 \(x\) 个限制的答案。在「钦定意义」下,「至多满足 \(x\) 个限制」等价于「至少不满足 \(n-x\) 个限制」。因为我们总是可以把「不满足原问题限制」看做一个新的限制。因此套用钦定至少时的的反演公式,就可以推出钦定至多时的反演公式。

选择类问题

概述

下文又包含大段摘抄。

「选择类问题」问题下的「至少」/「至多」其实就是「传统意义」下的「至少」/「至多」。但是之所以称作其为「选择类问题」,就是为了和上文提到的「钦定类问题」做区别。和「钦定意义」下的「至少」/「至多」不同,「选择意义」下的「至少」/「至多」并不会重复统计,这是这两类问题不同的关键之所在。「传统意义」下「至多」满足 \(x\) 个限制的答案,不就像采用「选择」的方式,从 \(x\) 个限制中,选择出若干限制并满足吗?「至少」也同理。

并且这类问题的限制是等价的,比如染 \(n\) 种颜色,如果把染第 \(i\) 种颜色看做限制 \(i\),那么这 \(n\) 种颜色是完全等价的;又比如有 \(n\) 行,行与行之间互不干扰,那么这 \(n\) 行是完全等价的。

在「选择意义」下,我们能够求出「至多」满足 \(x\) 个限制的答案;类似地,通过在 \(n-x\) 个限制中,「选择」出不满足的限制,可以求出在「选择意义」下,「至少」满足 \(x\) 个限制的答案。

为了方便叙述,假设下文的「至少」和「恰好」均为「选择意义」下的。

与“钦定”相比,“选择”拿东西的时候可就没有顺序讲究了。\(\{1,2,3\}\) 就是一种方案。

Theorem-2b:选择至多

\[g(x)=\sum_{i=0}^x\binom{x}{i}f(i)\Longleftrightarrow f(x)=\sum_{i=0}^x(-1)^{x-i}\binom{x}{i}g(i) \]

注意,由于直接「选择」求出的是「至多」,我们先来分析「选择意义」下「恰好」与「至多」的转化。

\(f(x)\) 表示「恰好」满足 \(x\) 个限制的方案数,\(g(x)\) 表示满足「至多」\(x\) 个限制的方案数。

由于这 \(n\) 种限制等价,所以这里 \(g(x)\) 并不包括从 \(n\) 种限制中选出 \(x\) 种限制,也就是没有 \(\binom{n}{x}\) 的系数。\(f(x)\) 同理。这和「钦定类问题」是不同的。

进一步解释一下:“选择”相比于原问题更像是在解决一个规模更小的问题,这个子问题是不区分它包含父问题中的哪些元素的。比如我们有一个四个元素的局面。每个元素可以取 \(0\) 或者 \(1\)。我们考虑 \(g(2)\),定义它为“至多满足两个限制的条件数”。它的方案数就是局面为 \(00,01,10,11\) 的方案数之和。其中 \(01\)\(10\) 的方案数都为 \(f(1)\)

我们发现 \(g(2)\) 恰好不重不漏统计了,在 \(2\) 种限制下,所有局面的方案数,不管这些局面满足了多少个限制。
从这里,我们可以更清晰出所谓「选择」是什么意思。

Theorem-2a:选择至少

\[g(x)=\sum_{i=0}^x\binom{n-i}{n-x}f(i)\Longleftrightarrow f(x)=\sum_{i=0}^x(-1)^{x-i}\binom{n-i}{n-x}g(i) \]

同理,对于某些问题,我们会通过在 \(n-x\) 个限制中,「选择」出不满足的限制,求出在「选择意义」下,「至少」满足 \(x\) 个限制的答案。

在「选择意义」下,同样有「至少满足 \(x\) 个限制」等价于「至多不满足 \(n-x\) 个限制」。我们如法炮制,套用之前模型的反演公式即可推导。

Extra:二元二项式反演

总结

下文还有大段复制粘贴。

二项式反演为我们提供了一种灵活处理「至少」/「至多」与「恰好」之间转换的方法。在信息学竞赛中的许多问题,特别是涉及到组合计数、限制条件的题目中,二项式反演是非常有效的工具。

并且我们弄清算出的「至少」/「至多」有没有重复计数的问题,思考是「钦定类问题」还是「选择类问题」,从而选择正确的模型解决问题。

对于式子的记忆和熟练运用,需要读者不断练习巩固。「钦定类问题」下「至少」\(\Longleftrightarrow\)「恰好」、「选择类问题」下「至多」\(\Longleftrightarrow\)「恰好」两条式子可谓是「二项式反演」精髓所在,由这两条式子可以推导出另外两条式子。

希望这篇文章能帮助你更好地理解和应用二项式反演。

还有很多例题什么的找时间再写。

posted @ 2025-07-17 22:02  矞龙OrinLoong  阅读(14)  评论(0)    收藏  举报