鴿子洞原理或者稱為抽屜原理


原理概述:

     有n只鴿子和m個鴿洞,所有鴿子都住在鴿洞里,如果n>m,那么至少有二只鴿子必須住在同一鴿洞里。

函數觀點:

   把鴿子看成是定義域A中元素ai,鴿洞看成是值域B中的元素bj,鴿子住鴿洞作為函數關系。

鴿洞原理:

     設f是從有限集A到有限集B的函數,若|A|>|B|,則必有a1,a2∈A,a1≠a2,使f(a1)=f(a2)=b∈Bf 包含於B(Bf是象域)。

  反證:若對任意a1,a2∈A,a1≠a2,f(a1)≠f(a2),|A|=|Bf|≤|B|與|A|>|B|矛盾

注:

  鴿洞原理本質上是對一個非一對一函數的充分性判別。

  這個原理看上去容易理解,且有廣泛的應用。

例1:在n2+1個不同整數的任意排列中,證明一定存在長為n+1的上升子序列或下降子序列。

證明

   設此序列為:a1,a2,…,ak,…,從ak開始上升子序列長度為xk,下降子序列長度為yk,每一個ak(k=1,2,…,n2+1)都對應了(xk,yk)。

    若不存在長為n+1的上升或下降子序列,那么xk ≤n,yk≤n,形如(xk,yk)的不同點對至多有n2個,而ak有n2+1個,必有ai,aj(1≤i<j≤n+1)同時對應(xi,yi)=(xj,yj)。

   由於ai≠aj,若ai<aj,則xi至少比xj大1,若ai>aj,則yi至少比yj大1,與(xi,yj)=(xj,yj)矛盾。

例2: 132個球放入77個盒子內,每盒至少放一球,求證:一定有21個球放在相鄰的某幾只盒子里。

證明

    設第k個盒子里放的球為bk,得到b1,b2,…,b77,按題意,欲尋找i和j,i>j≥0,使bj+1+bj+2+…+bi=21,即完成證明。

    設ak=,得到a1,a2,…,a77,顯然,{ak}是嚴格單調上升的,ai≠aj (i≠

 設  Ck=,得到C1,C2,…,C77,{Ck}也是嚴格單調上升的,Ci≠Cj (i≠j),且C77=153,Ci=ai+21。

    {ak}與{Ck}合在一起共有154個,但只能在1~153中取值,由鴿洞原理,必有二個相同,且不會同是ak中的,也不會同是Ck中的,不妨ai=Cj=aj+21,ai-aj=21,即,得到bj+1 +bj+2+…+bi=21。

例3

      設x1,x2,…,xn是任意排列的任意整數,證明其中存在連續的若干個數,它們之和是n的倍數。

證明:  設ai

   若ai中有n的倍數,則命題成立

   若ai中沒有n的倍數,由n除ai的余數只能在1~n-1中取

   以ai(i=1,2,…,n)作鴿子,1~n-1作鴿洞,ai,aj,使ai≡aj(modn)(i>j),則  n|(ai-aj),  即xj+1+xj+2+…+xi是n的倍數。

摘錄自百度文庫:鴿子洞原理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM