数量关系
数量模版题
抽屉原理

抽屉原理(鸽巢原理)

符号与记号说明

  • 向上取整x\lceil x \rceil,表示“不小于 xx 的最小整数”。
    • 例:3.01=4\lceil 3.01 \rceil=45=5\lceil 5 \rceil=5
  • 向下取整x\lfloor x \rfloor,表示“不大于 xx 的最大整数”。
    • 例:3.99=3\lfloor 3.99 \rfloor=35=5\lfloor 5 \rfloor=5
  • 不等号\ge 表示“至少/不小于”,\le 表示“至多/不大于”,>> “大于”,<< “小于”。
  • 范围写法11001\sim 100 表示从 11100100 的整数,含端点。
  • 同余与余数ab(modn)a \equiv b\pmod n 表示 aabb 除以 nn 后余数相同;amodna\bmod n 表示 aann 除的余数。
  • 集合符号{}\{\,\} 表示一个集合,如 {0,1,2,3,4}\{0,1,2,3,4\}
  • 文中常量含义NN(对象总数)、kk(抽屉数/分类数)、mm(门槛值/目标人数)、NminN_{\min}(保证出现所需的最小总数)。
    • 常见公式:Nk\left\lceil \dfrac{N}{k} \right\rceil(第一抽屉原理的“至少”下界),Nmin=k(m1)+1N_{\min}=k(m-1)+1(第二抽屉原理的“保证”门槛)。

抽屉原理是数量关系与组合计数中的基础工具,常用于“必有”“保证”“至少/至多”等结论的证明与估计。

第一抽屉原理(基本型)

  • 文字表述:把 NN 个对象放入 kk 个抽屉中,必有一个抽屉中至少有 Nk\left\lceil \dfrac{N}{k} \right\rceil 个对象。

  • 常用等价说法:若希望“每个抽屉至多 tt 个”,则总数 不超过 ktk\cdot t

  • 公式

    max{每个抽屉内元素数}  Nk\max\{\text{每个抽屉内元素数}\}\ \ge\ \left\lceil \dfrac{N}{k} \right\rceil

例子

  • 餐厅分桌:一共来 NN 位客人,只有 kk 张桌子,即使尽量平均分,也必然有一张桌子至少坐 Nk\left\lceil \tfrac{N}{k} \right\rceil 人。
  • 校园快递格:NN 个快递投到 kk 个智能柜格口里,至少有一个格口堆了 Nk\left\lceil \tfrac{N}{k} \right\rceil 个包裹(同格内临时堆放)。
  • 班级小组讨论:全班 NN 人被分到 kk 个小组,必有一组至少 Nk\left\lceil \tfrac{N}{k} \right\rceil 人。

第二抽屉原理(加强型/反证式)

  • 文字表述:若要保证“至少有一个抽屉中有 mm 个对象”,则总对象数至少需要 k(m1)+1k(m-1)+1 个。

  • 常用等价说法:若总数 k(m1)\le k(m-1),则可以让每个抽屉都 至多 m1m-1 个,从而不必出现“mm 个在同一抽屉”的情况。

  • 公式(门槛数)

    Nmin=k(m1)+1N_{\min}=k(m-1)+1

说明:第二抽屉原理本质是第一原理的阈值化应用,常以“极端分配”思想(先把每个抽屉塞到上限 m1m-1)来快速估算“保证出现”的最小数量。

例子

  • 月份生日“至少 m 人同月”:要保证至少 mm 人同在一个月份出生,最少需要 12(m1)+112(m-1)+1 人。比如“至少 3 人同月”,Nmin=12×2+1=25N_{\min}=12\times2+1=25
  • 作业提交高峰:一周 k=7k=7 天内分散提交,想保证某一天至少有 mm 份作业被提交,最少需要 7(m1)+17(m-1)+1 份提交记录。
  • 共享单车停放点:有 kk 个停车点,若想保证某点至少聚集 mm 辆,路面上最少需 k(m1)+1k(m-1)+1 辆车。

常见“抽屉”建模方法

  • 等价类划分:按余数、模类(如按 7 天、12 个月、平闰日等)分抽屉。
  • 配对/分组:把元素人为分成对、组(如 (1,2),(3,4),)(1,2),(3,4),\dots) 或互补对 (1,20),(2,19),)(1,20),(2,19),\dots)
  • 区间划分:把数轴或范围切割成等长区间(如几何区域划分成若干小格)。
  • 属性分类:按颜色、类别、科目、年级、月份等自然属性分抽屉。
  • 几何分区:把平面图形划分成若干子区域,点落在子区域即为入柜。

关键:先“定抽屉”,再“数对象”,最后代入公式求“至少/门槛/保证”。

生活类比(如何“定抽屉”)

  • 等价类划分 → “星期几/月份”类目:如安排会议到周一至周日;或把生日按 12 个月划分。
  • 配对/分组 → “鞋子/筷子”成对:把 1~100 按相邻成对、或把左右鞋配成一组,计算“必有一组齐全/重复”。
  • 区间划分 → “时间段/价位段”:把一天按小时段分箱;或把商品按价位区间分箱,讨论某段内必有多少件。
  • 属性分类 → “颜色/品类”:按袜子颜色、衣服尺码、图书类别等分抽屉,求同类必然出现的数量下界。
  • 几何分区 → “停车位网格/超市货架格”:把平面划成若干小格,车辆或商品落在哪个格子就归入哪个“抽屉”。

例题 1(生日问题·基础)

在一群人中,至少要有多少人才能保证出现同一天生日(按 366 个生日日期计,含 2 月 29 日)?

  • 建模:抽屉为“生日日期”,k=366k=366
  • 应用Nmin=k(m1)+1=366(21)+1=367N_{\min}=k(m-1)+1=366\cdot(2-1)+1=367
  • 答案:取 367 人,必有两人同生日。

例题 2(连续数·配对划分)

11001\sim 100 的整数中任取 5151 个,证明其中必有两数是相邻的连续整数。

  • 建模:把数对按 (1,2),(3,4),,(99,100)(1,2),(3,4),\dots,(99,100) 分为 50 个抽屉
  • 应用:向 50 个抽屉放入 51 个数,第一抽屉原理保证有一抽屉里 2\ge 2 个数,即有一对来自同一对组,故为连续整数。
  • 结论:必有一对连续数。

例题 3(余数分类)

任取 66 个整数,证明其中必有两数被 55 除余数相同。

  • 建模:按除以 5 的余数 {0,1,2,3,4}\{0,1,2,3,4\} 分为 5 个抽屉
  • 应用:6 个数分入 5 个抽屉,必有一抽屉中 2\ge 2 个。
  • 结论:存在两数同余(模 5)。

例题 4(至少 m 原理·月份)

要保证至少有 4 个人在同一个月份出生,最少需要多少人?

  • 建模:抽屉为 12 个月份,k=12k=12,目标 m=4m=4
  • 应用Nmin=12(41)+1=37N_{\min}=12\cdot(4-1)+1=37
  • 答案:取 37 人,必有一月出现至少 4 人。

例题 5(袜子问题)

一个抽屉里有黑、白、灰三色袜子若干。要保证至少抽出 5 只同色袜子,最少需要拿出多少只?(假设每色数量都足够多)

  • 建模:颜色为抽屉,k=3k=3,目标 m=5m=5
  • 应用Nmin=3(51)+1=13N_{\min}=3\cdot(5-1)+1=13
  • 答案:最少 13 只

例题 6(几何分区)

把边长为 22 的正方形划分为 44 个边长为 11 的小正方形。若在大正方形内任取 55 个点,证明必有两个点落在同一个小正方形内。

  • 建模:4 个小正方形为抽屉,k=4k=4
  • 应用:5 个点入 4 个“抽屉”,必同箱。
  • 结论:必有两个点落在同一小正方形内。

易错点与技巧

  • 抽屉的选择:先想“如何划分”,再数对象;抽屉划分不唯一,但需“覆盖且互斥”。
  • 极端分配:求“至少 mm”时,先把每个抽屉放到 m1m-1,再多放 1 个即达阈值。
  • 注意是否有限制:若每个抽屉容量受限或对象总量有限,要检查是否满足“阈值所需”的可行性。

快速模板

  1. 定抽屉:我把对象按【属性/区间/余数/配对】划分为 kk 个抽屉。

  2. 数对象:共有 NN 个对象要入柜。

  3. 应用原则:

  • 求至少/上界:Nk\left\lceil \dfrac{N}{k} \right\rceil
  • 求保证阈值:Nmin=k(m1)+1N_{\min}=k(m-1)+1
  1. 作结论:给出“必有/至少/保证”的明确语句。