zoukankan      html  css  js  c++  java
  • 抽屉原理

    “抽屉原理”最先是由19世纪的德国数学家迪里赫莱(Dirichlet)运用于解决数学问题的,所以又称“迪里赫莱原理”,也有称“鸽巢原理”的。这个原理可以简单地叙述为“把10个苹果,任意分放在9个抽屉里,则至少有一个抽屉里含有两个或两个以上的苹果”。这个道理是非常明显的,但应用它却可以解决许多有趣的问题,并且常常得到一些令人惊异的结果。抽屉原理是国际国内各级各类信息学竞赛中的重要内容,本讲就来学习它的有关知识及其应用。

    一、知识点:

    定理1、如果把n+1个元素分成n个集合,那么不管怎么分,都存在一个集合,其中至少有两个元素。

    证明:(用反证法)若不存在至少有两个元素的集合,则每个集合至多1个元素,从而n个集合至多有n个元素,此与共有n+1个元素矛盾,故命题成立。

    在定理1的叙述中,可以把“元素”改为“物件”,把“集合”改成“抽屉”,抽屉原理正是由此得名。

    同样,可以把“元素”改成“鸽子”,把“分成n个集合”改成“飞进n个鸽笼中”。“鸽笼原理”由此得名。

     

    二、讲解范例:

    【例1】一个小组共有13名同学,其中至少有2名同学同一个月过生日。为什么?

    【分析】每年里共有12个月,任何一个人的生日,一定在其中的某一个月。如果把这12个月看成12个“抽屉”,把13名同学的生日看成13只“苹果”,把13只苹果放进12个抽屉里,一定有一个抽屉里至少放2个苹果,也就是说,至少有2名同学在同一个月过生日。

    【例 2】任意4个自然数,其中至少有两个数的差是3的倍数。这是为什么?

    分析与解】首先我们要弄清这样一条规律:如果两个自然数除以3的余数相同,那么这两个自然数的差是3的倍数。而任何一个自然数被3除的余数,或者是0,或者是1,或者是2,根据这三种情况,可以把自然数分成3类,这3种类型就是我们要制造的3个“抽屉”。我们把4个数看作“苹果”,根据抽屉原理,必定有一个抽屉里至少有2个数。换句话说,4个自然数分成3类,至少有两个是同一类。既然是同一类,那么这两个数被3除的余数就一定相同。所以,任意4个自然数,至少有2个自然数的差是3的倍数。

    【例3】有规格尺寸相同的5种颜色的袜子各15只混装在箱内,试问不论如何取,从箱中至少取出多少只就能保证有3双袜子(袜子无左、右之分)?

    【分析与解】试想一下,从箱中取出6只、9只袜子,能配成3双袜子吗?回答是否定的。按5种颜色制作5个抽屉,根据抽屉原理1,只要取出6只袜子就总有一只抽屉里装2只,这2只就可配成一双。拿走这一双,尚剩4只,如果再补进2只又成6只,再根据抽屉原理1,又可配成一双拿走。如果再补进2只,又可取得第3双。所以,至少要取6+2+2=10只袜子,就一定会配成3双。

    【例4】一个布袋中有35个同样大小的木球,其中白、黄、红三种颜色球各有10个,另外还有3个蓝色球、2个绿色球,试问一次至少取出多少个球,才能保证取出的球中至少有4个是同一颜色的球?

    【分析与解】从最“不利”的取出情况入手。

    最不利的情况是首先取出的5个球中,有3个是蓝色球、2个绿色球。

    接下来,把白、黄、红三色看作三个抽屉,由于这三种颜色球相等均超过4个,所以,根据抽屉原理2,只要取出的球数多于(4-1)×3=9个,即至少应取出10个球,就可以保证取出的球至少有4个是同一抽屉(同一颜色)里的球。

    故总共至少应取出10+5=15个球,才能符合要求。

    思考:把题中要求改为4个不同色,或者是两两同色,情形又如何?

    当我们遇到“判别具有某种事物的性质有没有,至少有几个”这样的问题时,想到它——抽屉原理,这是你的一条“决胜”之路。

    【例5】.现有64只乒乓球,18个乒乓球盒,每个盒子里最多可以放6只乒乓球,至少有          个乒乓球盒子里的乒乓球数目相同?

    【分析与解】:18个乒乓球盒,每个盒子里至多可以放6只乒乓球。为使相同乒乓球个数的盒子尽可能少,可以这样放:先把盒子分成6份,每份有18÷6=3(只),分别在每一份的3个盒子中放入1只、2只、3只、4只、5只、6只乒乓球,即3个盒子中放了1只乒乓球,3个盒中放了2只乒乓球……3个盒子中放了6只乒乓球。这样,18个盒子中共放了乒乓球

    (1+2+3+4+5+6)×3=63(只)。

    把以上6种不同的放法当做抽屉,这样剩下64-63=1(只)乒乓球不管放入哪一个抽屉里的任何一个盒子里(除已放满6只乒乓球的抽屉外),都将使该盒子中的乒乓球数增加1只,这时与比该抽屉每盒乒乓数多1的抽屉中的3个盒子里的乒乓球数相等。例如剩下的1只乒乓球放进原来有2只乒乓球的一个盒子里,该盒乒乓球就成了3只,再加上原来装有3只乒乓球的3个盒子,这样就有4个盒子里装有3个乒乓球。所以至少有4个乒乓球盒里的乒乓球数目相同。

    提示语

     抽屉原理还可以反过来理解:假如把n+1个苹果放到n个抽屉里,放2个或2个以上苹果的抽屉一个也没有(与“必有一个抽屉放2个或2个以上的苹果”相反),那么,每个抽屉最多只放1个苹果,n个抽屉最多有n个苹果,与“n+1个苹果”的条件矛盾。

     运用抽屉原理的关键是“制造抽屉”。通常,可采用把n个“苹果”进行合理分类的方法来制造抽屉。比如,若干个同学可按出生的月份不同分为12类,自然数可按被3除所得余数分为3类等等。

  • 相关阅读:
    poj2082单调栈
    Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句
    Javascript权威指南——第一章Javascript概述
    前端工程师理解
    easyui tree获取直接子节点而不获取孙子节点方法
    centos linux安装telnet 过程及问题(源于内部tomcat网站,外部无法访问)
    AspectJ基础学习之三HelloWorld(转载)
    AspectJ基础学习之二搭建环境(转载)
    AspectJ基础学习之一简介(转载)
    js数组特定位置元素置空,非null和undefined,实现echarts现状图效果;谷歌格式化压缩js代码
  • 原文地址:https://www.cnblogs.com/rmy020718/p/9443279.html
Copyright © 2011-2022 走看看