容斥的一点性质
容斥原理的广泛性证明
1. 基本定义
设全集为 \(U\),给定 \(k\) 个限制条件 \(C_1, C_2, \ldots, C_k\),每个条件 \(C_i\) 对应集合 \(A_i \subseteq U\)。
2. 目标
计算满足至少一个条件的元素数量:
\(\left| \bigcup_{i=1}^k A_i \right|\)
3. 容斥公式
4. 证明(归纳法)
基例(k=1):
\(\left| A_1 \right| = |A_1|\) 显然成立。
归纳假设:
假设对于 \(k = m\) 时公式成立。
归纳步骤(k=m+1):
\(
\begin{aligned}
\left| \bigcup_{i=1}^{m+1} A_i \right|
&= \left| \left( \bigcup_{i=1}^m A_i \right) \cup A_{m+1} \right| \\
&= \left| \bigcup_{i=1}^m A_i \right| + |A_{m+1}| - \left| \left( \bigcup_{i=1}^m A_i \right) \cap A_{m+1} \right| \\
&= \left( \sum_{i=1}^m |A_i| - \sum_{1 \leq i < j \leq m} |A_i \cap A_j| + \cdots \right) \\
&\quad + |A_{m+1}| \\
&\quad - \left( \sum_{i=1}^m |A_i \cap A_{m+1}| - \sum_{1 \leq i < j \leq m} |A_i \cap A_j \cap A_{m+1}| + \cdots \right)
\end{aligned}
\)
5. 应用实例
问题:计算不包含固定权重的方案数。
解法:
- 设固定权重集合为 \(T = \{a_{x_1}, \ldots, a_{x_k}\}\)
- 对每个子集 \(S \subseteq T\):
- 计算偏移量 \(w = \sum_{a \in S} a\)
- 计算符号 \((-1)^{|S|}\)
- 累加 \((-1)^{|S|} \cdot f(L - w, R - w)\)
公式表达:
\(
\text{ans} = \sum_{S \subseteq T} (-1)^{|S|} \cdot f(L - w(S), R - w(S))
\)
注:本证明展示了容斥原理如何通过系统性的加减操作实现精确计数,其核心在于通过子集枚举和符号控制来保证计数的不重不漏。

浙公网安备 33010602011771号