基于分配格的扩展 Min-Max 容斥

· · 算法·理论

本文同步发表于 https://www.cnblogs.com/zifanoi/p/19164122,借助 ChatGPT 整理与完善。

1. 基本定义与记号

2. 分配格与 valuation(赋值)

定义(valuation / 赋值)
L 为格,A 为可加阿贝尔群(例如 \mathbb{R}\mathbb{Z})。映射

v:L\longrightarrow A

称为 valuation(赋值),当且仅当对任意 x,y\in L 有恒等

\boxed{\; v(x)+v(y)=v(x\vee y)+v(x\wedge y). \;}\tag{V}

备注:在幂集格上,基数函数 A\mapsto |A| 或任意有限可加测度都是典型的 valuation;在整除格上,把乘法取对数(v(n)=\log n)也把乘法型关系变为加性,从而满足 (V)。

基本性质(直观)

3. 在链(totally ordered set)上的第 k 大:定义与等价刻画

链上的常规定义(数值情形)
S=(x_1,\dots,x_n) 为一列实数(允许重复),按非增序排列为

y_{(1)}\ge y_{(2)}\ge\cdots\ge y_{(n)}.

则称 y_{(k)}Sk(亦称第 k 阶统计量,the k-th order statistic)。等价地,y_{(k)} 是“最大的 k 个数中的最小值”。

格上的自然推广(带索引形式)
对于任意格 L 与带索引的序列 S=(x_1,\dots,x_n)\subseteq L,定义

\boxed{\; \operatorname{max}_k(S) \;:=\; \bigvee_{\substack{T\subseteq\{1,\dots,n\}\\|T|=k}} \bigwedge_{i\in T} x_i. \;} \tag{D}

即先对每个恰好 k 个元素取它们的 meet(即这些 k 个中的最小),再对所有这些结果取 join(即取这些“k-最小”中的最大者)——正是“最大的 k 个中的最小”的格论翻译。

在链(totally ordered set)上 (D) 与常规定义一致。

4. 主定理(链 / 数值形式)与证明

4.1 关键组合恒等(引理)

Lemma(组合恒等)
对于任意整数 \ell\ge k\ge1

\boxed{\; \sum_{i=k}^{\ell} (-1)^{\,i-k}\binom{i-1}{k-1}\binom{\ell-1}{i-1} = \begin{cases} 1,&\ell=k,\\[3pt] 0,&\ell>k. \end{cases} \;}\tag{L}

证明
使用组合数恒等

\binom{i-1}{k-1}\binom{\ell-1}{i-1}=\binom{\ell-1}{k-1}\binom{\ell-k}{i-k}.

于是左式化为

\binom{\ell-1}{k-1}\sum_{j=0}^{\ell-k}(-1)^j\binom{\ell-k}{j} =\binom{\ell-1}{k-1}(1-1)^{\ell-k},

\ell=k 时为 1,当 \ell>k 时为 0。证毕。 \square

4.2 主定理(链 / 数值情形)

Theorem(第 k 大的包含—排除式)
S=(x_1,\dots,x_n) 为一列实数(允许相等)。则对任意 1\le k\le n

\boxed{\; \operatorname{max}_k(S) =\sum_{\substack{T\subseteq\{1,\dots,n\}\\|T|\ge k}} (-1)^{|T|-k}\binom{|T|-1}{k-1}\;\min_{i\in T} x_i. \;}

证明(按“贡献”计数)
S 按非增序排列为 y_{(1)}\ge y_{(2)}\ge\cdots\ge y_{(n)}。我们把右端按“哪个位置的元素作为 \min(T)”分组,并计算每个 y_{(\ell)} 的总系数。

\min(T)=y_{(\ell)},则 T 必须包含某个对应位置为 \ell 的索引,並且其余 |T|-1 个元素必须从更大的位置 \{1,\dots,\ell-1\} 中选出。因此,对固定大小 i=|T| 而言,出现的子集数为 \binom{\ell-1}{i-1}。所以 y_{(\ell)} 在右端的总系数为

\sum_{i=k}^{\ell}(-1)^{\,i-k}\binom{i-1}{k-1}\binom{\ell-1}{i-1}.

由引理 (L),此和当且仅当 \ell=k 时为 1,其余情况为 0。因此右端只留下 y_{(k)} 的贡献 1,即等于 \operatorname{max}_k(S)。证毕。 \square

5. 推广:分配格上的 valuation 版本

下面对 valuation 版本给出更详尽的、形式化的证明要点 —— 包括按 meet 值分组、用组合恒等归简、以及在偏序上的 Möbius 反演步骤。

5.1 形式化定理

Theorem(分配格 + valuation 版本)
L 为分配格,S=(x_1,\dots,x_n)\subseteq L 为带索引的元素列。令 v:L\to A 为到可加阿贝尔群 A 的 valuation,即满足对任意 u,w\in L

v(u)+v(w)=v(u\vee w)+v(u\wedge w).

则对任意 1\le k\le nA 中成立

\boxed{\; v\big(\operatorname{max}_k(S)\big) =\sum_{\substack{T\subseteq\{1,\dots,n\}\\|T|\ge k}} (-1)^{|T|-k}\binom{|T|-1}{k-1}\; v\Big(\bigwedge_{i\in T} x_i\Big). \;}\tag{★}

5.2 证明(详尽步骤)

(A)按 meet 值分组,将指数维度降维

定义映射 \varphi:\mathcal P(\{1,\dots,n\})\setminus\{\varnothing\}\to L

\varphi(T):=\bigwedge_{i\in T} x_i.

\operatorname{Im}\varphi 为映像。对任意 y\in\operatorname{Im}\varphi 定义

\mathcal T_y:=\{\,T\subseteq\{1,\dots,n\}:\ T\neq\varnothing,\ \varphi(T)=y\,\}.

把 RHS(标记为 R)按 y 分组:

R=\sum_{T:|T|\ge k} (-1)^{|T|-k}\binom{|T|-1}{k-1}\; v(\varphi(T)) =\sum_{y\in\operatorname{Im}\varphi} c(y)\, v(y),

其中

c(y):=\sum_{T\in\mathcal T_y} (-1)^{|T|-k}\binom{|T|-1}{k-1}.

要证明 c(y)=1y=\operatorname{max}_k(S),否则 c(y)=0

(B)把“\varphi(T)\succeq y” 的集合与 I_y 对应并应用组合恒等

定义

I_y:=\{\, i\in\{1,\dots,n\} : x_i \succeq y \,\}.

注意:若 T\subseteq I_y(非空),则 \varphi(T)=\bigwedge_{i\in T}x_i\succeq y;反之若 \varphi(T)\succeq yT\subseteq I_y. 因此集合 \{T:\varphi(T)\succeq y\} 恰为非空子集集合 \mathcal P(I_y)\setminus\{\varnothing\}

考虑累积和

S(y):=\sum_{\substack{T\neq\varnothing\\ \varphi(T)\succeq y}} (-1)^{|T|-k}\binom{|T|-1}{k-1}.

按大小分组并用组合恒等化简得

S(y)=\sum_{t=k}^{|I_y|}(-1)^{t-k}\binom{t-1}{k-1}\binom{|I_y|}{t}.

按引理 (L) 的组合代数推理可化简为

S(y)= \begin{cases} 1,& |I_y|\ge k,\\[4pt] 0,& |I_y|<k. \end{cases} \tag{1}

(C)Möbius 反演:从累积和到点系数

另一方面,把累积和按照 \varphi 的像值展开:

S(y)=\sum_{\substack{T\neq\varnothing\\ \varphi(T)\succeq y}} (-1)^{|T|-k}\binom{|T|-1}{k-1} = \sum_{z\succeq y} \sum_{T\in\mathcal T_z} (-1)^{|T|-k}\binom{|T|-1}{k-1} = \sum_{z\succeq y} c(z).

即对任意 y\in\operatorname{Im}\varphi

\sum_{z\succeq y} c(z) = S(y). \tag{2}

方程 (2) 是偏序 \operatorname{Im}\varphi 上的累和关系。由偏序上的 Möbius 反演(有限偏序上若 F(y)=\sum_{z\succeq y} f(z),则 f(y)=\sum_{z\succeq y}\mu(y,z)F(z),其中 \mu 为该偏序的 Möbius 函数)可得

c(y)=\sum_{z\succeq y} \mu(y,z)\, S(z). \tag{3}

把 (1) 带入 (3) 得

c(y)=\sum_{\substack{z\succeq y\\ |I_z|\ge k}} \mu(y,z). \tag{4}

(D)识别 c(y)U_k 的最小元就是 \operatorname{max}_k(S)

U_k:=\{\, z\in\operatorname{Im}\varphi : |I_z|\ge k\,\}.

注意 U_k 是一个上集(up-set):若 z\in U_kz'\succeq z,则 z'\in U_k

定义

y_*:=\bigvee_{\substack{T\subseteq\{1,\dots,n\}\\|T|=k}} \bigwedge_{i\in T} x_i = \operatorname{max}_k(S).

可以证明 y_*U_k 的最小元(即 y_*\in U_k,且对任一 z\in U_ky_*\preccurlyeq z)。因此集合 \{ z\succeq y :\, |I_z|\ge k\} 要麼是空的(当 y\not\preccurlyeq y_* 时),要麼等于集合 \{ z\succeq y_* \}(当 y\preccurlyeq y_* 时)。

因此由 (4) 可得:

综上,c(y)=1 当且仅当 y=\operatorname{max}_k(S),其余为 0

(E)代回并完成证明

c(y) 代回分组表达式

R=\sum_{y\in\operatorname{Im}\varphi} c(y)\, v(y)

得到

R=v(\operatorname{max}_k(S)).

这正是等式 (★)。证毕。 \square

5.3 讨论与补充说明

6. OI 中的应用

咕咕咕