容斥原理 鴿巢原理快速入門

2021-08-05 19:39:30 字數 1510 閱讀 7758

在計數時,必須不重不漏。為了使得重疊部分不被重複計算,人們研究出一種新的計數方法,這種方法的基本思想是:先不考慮重疊的情況,把包含於某內容中的所有物件的數目先計算出來,然後把計數時重複計算的數目排斥出去,使得計算的結果既無重複也無遺漏,這種計數的方法稱為容斥原理。

公式的解釋:

目的是求解m個集合的並集,首先將m個集合相加,減去集合間兩兩相交的部分,加上三三相交的部分,再減去四四相交的部分……一直到m個集合相交的部分,當m為偶數時,最後一項的符號為負數,否則為正數。

當存在兩個集合a與b,容斥關係公式為:a∪b =|a∪b| = |a|+|b| - |a∩b |

當存在三個集合a、b、c,容斥關係公式為:|a∪b∪c| = |a|+|b|+|c| - |a∩b| - |b∩c| - |c∩a| + |a∩b∩c|

uva 11806 題解

uva 10325 題解

hdu 1796 題解

hdu 1695

hdu 2204

hdu 4407

hdu 2841

poj 1091

(題目**網路,部分題目可能需要前置技能)

桌子上有是個蘋果,把這十個蘋果放到九個抽屜裡,無論怎麼放,我們會發現至少會有乙個抽屜裡面至少放兩個蘋果。這一現象就是所說的「抽屜原理」。

更一般的表述:如果每乙個抽屜代表乙個集合,每乙個蘋果就可以代表乙個元素。加入有n+1個元素放到n個集合中去,其中必定有乙個集合裡至少有兩個元素。

原理1把多餘n+1個物體放到n個抽屜裡,則至少有乙個抽屜裡的東西不少於兩件。

原理2把多餘mn+1(n不為0)個物體放到n個抽屜裡面,則至少有乙個抽屜裡面不少於(m+1)的物體。

把(mn -1 )個物體放入n個抽屜中,其中必須有乙個抽屜不多餘(m-1)個物體。

如將3*5-1 = 14個物體放入5個抽屜中,則必定有乙個抽屜中的物體數目少於3-1=2.

屬相問題

屬相有12個,那麼任意37個人中,至少有幾個人屬相相同?

上取整(37 / 12) = 4

招聘問題

有300人到招聘會求職,其中軟體設計有100人,市場營銷有80人,財務管理有70人,人力資源管理有50人。那麼至少有多少人找到工作才能保證一定有70人找的工作專業相同?

考慮最差情況,即軟體設計,市場營銷,財務管理均招了69人,人力資源管理招了50人,此時再多招1人,就有70人找的工作專業相同了。

故答案為 69*3 + 50 + 1 = 258

襯衫問題

乙個抽屜裡有20件襯衫,其中4件是藍的,7件是灰的,9件是紅的,則應從中隨意取出多少件才能保證有5件是同顏色的?

考慮最差情況,即已經取出了4件藍色,4件灰色,4件紅色,再多取出1件就滿足條件。

故答案為 4 + 4 + 4 + 1 = 13

poj 2356

hdu 1205

poj 3370

poj 3145

hdu 5762

hdu 5776

poj 3370

(題目**網路,部分題目可能需要前置技能)

鴿巢原理入門

下面有兩個入門題目 poj2356 題意 從n個數中選出幾個數的和是n的倍數。因為給定的是n個數,所以結論是一定存在。證明如下 用sum k 表示前k個數的和,假設不存在,那麼sum k n一定在1到 n 1 之間,其中k為 1 n 那麼它的餘數至少有兩個數是相等的。因為鴿巢原理n個蘋果放到n 1個...

題目整理 容斥定理 鴿巢原理

題意 v dragon有n棧電燈泡,編號為1 n,每個燈泡都有乙個開關。那麼問題來了 所有燈泡初始時為不亮的 v dragon分別進行三次操作 每次操作他都選乙個質數x,將編號為x和x的整數倍的燈泡的開關都撥動一下 如果燈為亮,那麼撥動以後燈為不亮,如果燈不亮,撥動以後變為亮 求最後亮著的燈的數量 ...

鴿巢原理小結

最基礎的原理便是n 1的物體放到n個盒子裡,至少有乙個盒子放了兩個物體。poj 2356 有n個數,從中選出幾個數的和是n的倍數。不得不說數學是個神奇的東西,結論是任意的n個數,必然能找到連續的m個數之和是n的倍數。接下來簡單證明一下,組合數學書中,黑書都有介紹。sk表示a1 a2 ak,如果sk是...