設共有\(n\)個集合,\(a_i\)表示第\(i\)個集合,則所有集合的並集可表示成以下形式:
\[|a_1\cup a_2\cup \cdots\cup a_n|=\sum_^n (-1)^\sum|a_1\cap a_2\cap\cdots\cap a_i|
\]設某個元素被\(x\)個集合包含,顯然地,其對左式的貢獻為1,因為在並集中只計算一次。
考慮其對於右式的貢獻,它會在這\(x\)個集合的所有子集中被計算到。其貢獻為:
\[\sum_^x c_x^i(-1)^=-\sum_^x c_x^i(-1)^=1-\sum_^x c_x^i(-1)^=1-\sum_^x c_x^i(-1)^\times1^=1-(1-1)^x=1
\]由於所有元素對於左右兩式的貢獻均為1,綜上即可證得等式成立。
設\(a_i^c\)表示\(a_i\)的補集,\(s\)表示全集,則:
\[|a_1^c\cap a_2^c\cap\cdots\cap a_n^c|=|s|-|a_1\cup a_2\cup \cdots\cup a_n|=|s|-\sum_^n (-1)^\sum|a_1\cap a_2\cap\cdots\cap a_i|
\]常用於解決限制條件較繁複的問題。
[click]
這三個限制可以逐個來解決,然後逐層相乘。
當至少有\(i\)行\(j\)列不染色的且規定為某\(i\)行\(j\)列不染色的時候,設\(f_k\)表示不用\(k\)種顏色的方案。
則:\[\binom(c-k+1)^=\sum_^c \binom f_t
\]左式的意義為,選\(k\)個顏色不用的方案數。由於還有不塗色的選擇,所以並不能保證只有那幾個沒有用到。假設有一種方案恰好有\(t\)種顏色沒用到,根據這樣的選擇方式,它就被計算了\(\binom\)次。由此得出上式。
二項式反演一下,或者從單純的容斥角度而言,即可得到:
\[f_k=\sum_^c (-1)^\binom\binom(c-t+1)^
\]\[\begin
\sum_^c f_k& =\sum_^c \sum_^c (-1)^\binom\binom(c-t+1)^\\
& =\sum_^c \binom\binom(c-t+1)^ \sum_^t (-1)^\binom\\
& =\sum_^c \binom\binom(c-t+1)^ (-(-1)^t +\sum_^t (-1)^1^k \binom)\\
& =\sum_^c (-1)^\binom(c-t+1)^\\
\end\]
合法的方案數即為:
\[(c+1)^-\sum_^c f_k=\sum_^c (-1)^k\binom (c-k+1)^
\]這樣的方案數,還是會算重,同樣因為有不塗色的選擇會導致超過\(i\)行或\(j\)列是完全空白的。再進行容斥,即可得到:
\[\begin
& \sum_^n (-1)^i \binom\sum_^m (-1)^j \binom \sum_^c (-1)^k\binom(c-k+1)^\\
& =\sum_^n\sum_^c (-1)^\binom \binom\sum_^m \binom(-1)^j(c-k+1)^\\
& =\sum_^n\sum_^c (-1)^\binom \binom\sum_^m [-1+(c-k+1)^]^m \\
\end\]
如果不將後面的求和轉化掉的話,複雜度是\(o(n^3)\)。轉化後對每乙個\(c-k+1\)的冪進行預處理,即可達到\(o(n^2logn)\)的複雜度。
[click]
#include #include typedef long long ll;
const int p=1e9+7;
const int maxn=400+10;
int fac[maxn],inv[maxn],pow[maxn*maxn];
int max(int x,int y)
int read()
int power(int a,int n)
return res;
}void prework(int n)
int c(int n,int m)
int main()
} printf("%d\n",ans);
return 0;
}
Min Max 容斥的證明
這裡有 min max 容斥的證明以及唯一一道博主做過的例題.上個結論 min sum 1 max max sum 1 min 具體的證明其實很簡單.我們考慮證明其中乙個 以第乙個為例 另乙個可以用類似證法得到結論。咱直接考慮集合內元素不重的情況,因為相同大小我們強制規定他們之間存在大小關係就好了,...
容斥原理及廣義容斥(二項式反演)
就是這麼乙個公式 因為本人太弱,不會嚴謹的數學證明,感性理解一下就是把那些重複的元素去掉就行了。容斥的套路挺多的,還是要多做題。貌似也叫二項式反演,總共有3種形式,但常用的只有兩種 1.若 f n sum limits binomg i 那麼 g n sum limits 1 binomf i 具體...
容斥原理 數論
兩個集合的容斥關係公式 a b a b a b a b 重合的部分 三個集合的容斥關係公式 a b c a b c a b b c c a a b c 最後可以推廣到n個集合,集合裡的元素為奇數則加,偶數減 hdu 4135 很簡單,直接求出所有的質因子,然後容斥解決 author crystal ...