結論:對於c(n,k),若n&k == k 則c(n,k)為奇數,否則為偶數。
證明:組合數的奇偶性判定方法為:
公式p是指排列,從n個元素取r個進行排列(即排序)。 (p是舊用法,現在教材上多用a,arrangement)
公式c是指組合,從n個元素取r個,不進行排列(即不排序)。 組合數的奇偶性判定方法為: 結論:
對於c(n,k),若n&k == k 則c(n,k)為奇數,否則為偶數。 證明:
利用數學歸納法:
由c(n,k) = c(n,k-1) + c(n-1,k-1); 對應於楊輝三角: 1 1 2 1 1 3 3 1 1 4 6 4 1
………………
可以驗證前面幾層及k = 0時滿足結論,下面證明在c(n-1,k)和c(n-1,k-1) (k > 0) 滿足結論的情況下, c(n,k)滿足結論。
1).假設c(n-1,k)和c(n-1,k-1)為奇數: 則有:(n-1)&k == k; (n-1)&(k-1) == k-1;
由於k和k-1的最後一位(在這裡的位指的是二進位制的位,下同)必然是不同的,所以n-1的最後一位必然是1。 現假設n&k == k。
則同樣因為n-1和n的最後一位不同推出k的最後一位是1。
因為n-1的最後一位是1,則n的最後一位是0,所以n&k != k,與假設矛盾。 所以得n&k != k。
2).假設c(n-1,k)和c(n-1,k-1)為偶數: 則有:(n-1)&k != k; (n-1)&(k-1) != k-1; 現假設n&k == k.
則對於k最後一位為1的情況:
此時n最後一位也為1,所以有(n-1)&(k-1) == k-1,與假設矛盾。 而對於k最後一位為0的情況:
則k的末尾必有一部分形如:10; 代表任意個0。 相應的,n對應的部分為: 1*; *代表0或1。
而若n對應的*中只要有乙個為1,則(n-1)&k == k成立,所以n對應部分也應該是10。
則相應的,k-1和n-1的末尾部分均為01,所以(n-1)&(k-1) == k-1 成立,與假設矛盾。
所以得n&k != k。
由1)和2)得出當c(n,k)是偶數時,n&k != k。
3).假設c(n-1,k)為奇數而c(n-1,k-1)為偶數: 則有:(n-1)&k == k; (n-1)&(k-1) != k-1; 顯然,k的最後一位只能是0,否則由(n-1)&k == k即可推出(n-1)&(k-1) == k-1。 所以k的末尾必有一部分形如:10; 相應的,n-1的對應部分為: 1*; 相應的,k-1的對應部分為: 01;
則若要使得(n-1)&(k-1) != k-1 則要求n-1對應的*中至少有乙個是0. 所以n的對應部分也就為 : 1*; (不會因為進製變1為0) 所以 n&k = k。
4).假設c(n-1,k)為偶數而c(n-1,k-1)為奇數: 則有:(n-1)&k != k; (n-1)&(k-1) == k-1; 分兩種情況:
當k-1的最後一位為0時:
則k-1的末尾必有一部分形如: 10; 相應的,k的對應部分為 : 11;
相應的,n-1的對應部分為 : 10; (若為11,則(n-1)&k == k) 相應的,n的對應部分為 : 11; 所以n&k = k。
當k-1的最後一位為1時:
則k-1的末尾必有一部分形如: 01; (前面的0可以是附加上去的) 相應的,k的對應部分為 : 10;
相應的,n-1的對應部分為 : 01; (若為11,則(n-1)&k == k) 相應的,n的對應部分為 : 10; 所以n&k = k。
由3),4)得出當c(n,k)為奇數時,n&k = k。
綜上,結論得證!
n&k是n(按位與)k的意思,比如說n=9,k=3,那麼轉化成二進位制n=1001,k=0011,進行運算(都是1則為1,否則為0)後得到1,如果它和k相等,組合數則為奇數,否則為偶數,至於其中的道理是:根據二進位制的運算法則,從後向前數,有幾個0(不能有間斷),就有幾個偶數因子(這裡就說是以2為因子吧),按位與的功能就是消0,當然根據組合公式,分子上的偶數因子不可能比分母上的少,但是如果相等的話,那麼這個數就是乙個奇數了,按位與的功能是0和1在一塊就消1,那麼如果想保留原有的k值,n轉化成二進位制後就要有許多個1(通俗一點),這樣的話,他的偶數因子也會減少,經過證明,可以得到當n&k==k時,n!和k!(n-k)!的偶數因子一樣多,就可以把它們消去,從而得到乙個奇數。
文件出處:
組合數奇偶性的判斷(附證明)
learning 方法一 計算一下,然後看它的奇偶性 但是這個時間以及資料範圍上都不允許 方法二對於給定c n,m 檢查n!中2因子的個數與m!和 n m 中2因子個數和的關係,假設n 中2因子個數為a,m 中2因子個數為b,n m 中2因子個數為c,則顯然有a b c 並且當a b c時,一定為奇...
奇偶性剪枝
我們先來看一道題目 有乙個n x m大小的迷宮。其中字元 s 表示起點,字元 d 表示出口,字元 x 表示牆壁,字元,表示平地。你需要從 s 出發走到 d 每次只能向上下左右相鄰的位置移動,並且不能走出地圖,也不能走進牆壁。每次移動消耗1時間,走過路都會塌陷,因此不能走回頭路或者原地不動。現在已知出...
1085 判斷奇偶性
判斷奇偶性 time limit 1000ms memory limit 65536k total submit 128 accepted 58 description 計算乙個無符號整數x的二進位制中1的個數是奇數還是偶數。input 多組測試資料。每組測試資料報括乙個無符號整數n 0 n 2 3...