容斥原理

定理

设S是一个有限集,\(A_1,A_2,···,A_n\)是S的n个子集,则
\(|\bigcup_{i=1}^nA_i|=\sum_{i=1}^n(-1)^{i-1}\cdot\sum_{1 \leq j_1< j_2···< j_i\leq n}|\bigcap_{k=1}^{i}A_{j_k}|\)
\(|S-\bigcup_{i=1}^nA_i|=\sum_{i=0}^n(-1)^i\cdot\sum_{1 \leq j_1< j_2···< j_i\leq n}|\bigcap_{k=1}^{i}A_{j_k}|\)\((\bigcap \emptyset=S)\)

\(x\in S-\bigcup_{i=1}^{n}A_i\),在\(i=0\)时被算了1遍

\(x\in \bigcup_{i=1}^nA_i,x\in A_{k1},A_{k2},A_{k3}···,A_{kl}\),

\(\sum_{i=0}^l (-1)^i\cdot{l \choose i}=(1-1)^l=0\),因此x会被算0遍

综上该公式等式两边成立

应用

不定方程解的数量

求不定方程\(x_1+x_2+···+x_k=n\)的解的数量,\(x_i\)为整数,且\(l_i \leq x_i \leq r_i(1\leq i\leq k)\)

\(\:\) \(S=\{x_1+x_2+···+x_k=n的所有满足l_i\leq x_i的解\}\)

\(\quad A_i=\{ x_1+x_2+···+x_k=n的所有满足r_i < x_i的解\}\)


\(ans=|S-\bigcup_{i=1}^nA_i|=\sum_{i=0}^n(-1)^i\cdot\sum_{1 \leq j_1< j_2···< j_i\leq n}|\bigcap_{k=1}^{i}A_{j_k}|\)

求解\(\sum_{1 \leq j_1< j_2···< j_i\leq n}|\bigcap_{k=1}^{i}A_{j_k}|\)

两种情况:
1.\(p\in \{j_1,j_2,···,j_i\}, x_p\geq r_i+1\)
2.\(p \notin \{j_1,j_2,···,j_i\}, x_p\geq l_i\)

\(\sum_{1 \leq j_1< j_2···< j_i\leq n}|\bigcap_{k=1}^{i}A_{j_k}|\)共有\(2^k\)种方案

每种方案\({n+k-1-\sum_{i=1}^{k}(l_1 \: or \: r_i+1) \choose k-1}\)

所以\(ans=|S-\bigcup_{i=1}^nA_i|=\sum_{i=0}^n(-1)^i\cdot\sum_{1 \leq j_1< j_2···< j_i\leq n}{n+k-1-\sum_{i=1}^{k}(l_1 \: or \: r_i+1) \choose k-1}\)

容斥原理符号

设S是一个有限集,\(a_1,a_2,···,a_n\)是n种性质
\(N(a_i)\)为S中有\(a_i\)性质的元素的数量,特殊的,记\(N(1)=|S|\)
\(N(1-a_i)\)为S中没有\(a_i\)性质的元素的数量
\(N(a_{i1},a_{i2},···a_{ik})\)为S中同时有\(a_{i1},a_{i2}···a_{ik}\)的元素的数量
\(N(a\pm b)=N(a)\pm N(b)\)
容斥原理可以写为
\(N((1-a_1)(1-a_2)···(1-a_n))=\sum_{i=0}^{n}(-1)^i \cdot \sum_{1\leq j_1<j_2···<j_i\leq n}N(a_{j_1}a_{j_2}···a_{j_i})\)
对于有些性质有,有些性质没有,公式可以写为
\(N(a_1···a_x(1-a_{x+1})···(1-a_{n+x}))=\sum_{i=0}^{n}(-1)^i \cdot \sum_{x+1\leq j_1<j_2···<j_i\leq n+x}N(a_1···a_xa_{j_1}a_{j_2}···a_{j_i})\)
例题
1.https://ac.nowcoder.com/acm/contest/219/B
2.CQOI2012局部最小值 题解
3.Mike and Foam 题解

二项式反演

讲解

公式一

公式二

posted @ 2021-10-21 21:53  I_N_V  阅读(122)  评论(0编辑  收藏  举报