二项式反演&MIN-MAX容斥目害证

二项式反演

由于用了二项式反演,但是一直没证过,心里一直不踏实于是决定证一下

形式零

首先有多步容斥一开始的柿子:

\[|A_1\bigcup A_2 \bigcup A_3 ..... \bigcup A_n|=\sum\limits_{i=1}^n|A_i|-\sum\limits_{1<=i<j<=n}|A_i\bigcap A_j|+...+(-1)^{n-1}|A_1\bigcap A_2\bigcap A_3....\bigcap A_n| \]

然后用\(A^c\)表示\(A\)的补集,则:

\[|A_1^c\bigcap A_2^c \bigcap A_3^c ..... \bigcap A_n^c|=|S|-\sum\limits_{i=1}^n|A_i|+\sum\limits_{1<=i<j<=n}|A_i\bigcap A_j|+...+(-1)^n|A_1\bigcap A_2\bigcap A_3....\bigcap A_n| \]

然后原集变补集补集变原集:

\[|A_1\bigcap A_2 \bigcap A_3 ..... \bigcap A_n|=|S|-\sum\limits_{i=1}^n|A_i^c|+\sum\limits_{1<=i<j<=n}|A_i^c\bigcap A_j^c|+...+(-1)^n|A_1^c\bigcap A_2^c\bigcap A_3^c....\bigcap A_n^c| \]

\(f_i\)表示\(i\)个补集的交集大小,\(g_i\)表示\(i\)个原集的交集大小,根据上面则有:

\[f_n=\sum\limits_{i=1}^n(-1)^i\binom{n}{i}g_i \]

\[g_n=\sum\limits_{i=1}^n(-1)^i\binom{n}{i}f_i \]

这两个柿子相互等价,于是就有了形式零:

\[f_n=\sum\limits_{i=1}^n(-1)^i\binom{n}{i}g_i\Leftrightarrow g(n)=\sum\limits_{i=1}^n(-1)^i\binom{n}{i}f_i \]

形式一

\[f_n=\sum\limits_{i=1}^{n}\binom{n}{i}g_i\Leftrightarrow g(n)=\sum\limits_{i=1}^{n}(-1)^{n-i}\binom{n}{i}f_i \]

如果只证明上面的柿子,可以将形式零的\((-1)^ig_i\)设为\(h_i\)然后带入上式就能直接出。

再证明就把左边的柿子带到右边去,\(f_n\)

\[=\sum\limits_{i=1}^{n}\binom{n}{i}\sum\limits_{j=1}^{i}(-1)^{i-j}\binom{i}{j}f_j \]

\[=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^i(-1)^{i-j}\binom{n}{i}\binom{i}{j}f_j \]

然后有\(\binom{n}{i}\binom{i}{j}=\binom{n}{j}\binom{n-j}{i-j}\)

\[=\sum\limits_{j=1}^{n}\binom{n}{j}f_j\sum\limits_{i=j}^n(-1)^{i-j}\binom{n-j}{i-j}(-1)^{i-j} \]

\[=\sum\limits_{j=1}^{n}\binom{n}{j}f_j\sum\limits_{t=0}^{n-j}(-1)^t\binom{n-j}{t}(-1)^{t}1^{n-j-t} \]

由二项式定理得:

\[=\sum\limits_{j=1}^{n}\binom{n}{j}f_j(1-1)^{n-j} \]

\[=\sum\limits_{j=1}^{n}\binom{n}{j}f_j[n=j] \]

\[=\binom{n}{n}f_n \]

\[=f_n \]

然后这样形式一就有了,由上面的证明可以一样证出:

\[f_n=\sum\limits_{i=m}^n\binom{n}{i}g_i\Leftrightarrow g_n=\sum\limits_{i=m}^{n}(-1)^{n-i}\binom{n}{i}f_i \]

然后一般就把\(f_i\)设成钦定(至多)选i个,\(g_i\)设成恰好选\(i\)个。

形式二

\[f_n=\sum\limits_{i=n}^{m}\binom{i}{n}g_i\Leftrightarrow g_n=\sum\limits_{i=n}^{m}(-1)^{i-n}\binom{i}{n}f_i \]

证明类似,把右边带到左边,\(f_n\)

\[=\sum\limits_{i=n}^{m}\binom{i}{n}\sum\limits_{j=i}^{m}\binom{j}{i}(-1)^{j-i}\binom{j}{i}f_j \]

\[=\sum\limits_{j=n}^{m}f_j\sum\limits_{i=n}^{j}(-1)^{j-i}\binom{i}{n}\binom{j}{i} \]

\[=\sum\limits_{j=n}^{m}f_j\sum\limits_{i=n}^{j}(-1)^{j-i}\binom{j}{n}\binom{j-n}{j-i} \]

\[=\sum\limits_{j=n}^{m}\binom{j}{n}f_j\sum\limits_{t=0}^{j-n}(-1)^t\binom{j-n}{t}1^{j-n-t} \]

\[=\sum\limits_{j=n}^{m}\binom{j}{n}f_j(1-1)^{j-n} \]

\[=\sum\limits_{j=n}^{m}\binom{j}{n}f_j[j=n] \]

\[=f_n \]

于是就有了形式二,然后一般就把\(f_i\)设成钦定(至少)选i个,\(g_i\)设成恰好选\(i\)个。

min-max容斥

首先是有个柿子:

\[max(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-1}min(T) \]

考虑证明的话,我们构造一个函数f(|T|)使得

\[max(S)=\sum\limits_{T\subseteq S}f(|T|)min(T) \]

考虑第\(x+1\)大的数会被统计到的贡献:

\[\sum\limits_{i=0}^{x}\binom{x}{i}f(i+1) \]

意思的话就是枚举所在集合有多少个比它大的数。
那么有:

\[[x==0]=\sum\limits_{i=0}^x\binom{x}{i}f(i+1) \]

根据二项式反演有:

\[f(x+1)=\sum\limits_{i=0}^x(-1)^{x-i}\binom{x}{i}[i==0] \]

于是就有了:

\[f(x+1)=(-1)^x \]

\[f(x)=(-1)^{x-1} \]

于是就有:

\[max(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-1}min(T) \]

交换一下同样适用:

\[min(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-1}max(T) \]

然后有个kthmax扩展容斥:

\[kthmax(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-K}\binom{|T|-1}{k-1}min(T) \]

我们还是设\(f(|T|)\)有:

\[kthmax(S)=\sum\limits_{T\subseteq S}f(|T|)min(T) \]

考虑x+1大的贡献,则:

\[[x==k-1]=\sum\limits_{i=0}^{x}\binom{x}{i}f(i+1) \]

二项式反演:

\[f(x+1)=\sum\limits_{i=0}^{x}(-1)^{x-i}\binom{x}{i}[i==k-1] \]

则:

\[f(x+1)=(-1)^{x-k}\binom{x}{k-1} \]

则有:

\[kthmax(S)=\sum\limits_{T\subseteq S}(-1)^{|T|-k}\binom{|T|-1}{k-1}min(T) \]

posted @ 2021-12-30 08:06  letitdown  阅读(58)  评论(0编辑  收藏  举报