数论1.6 组合数学

本文深入探讨了组合数学的基本原理,包括加法原理、乘法原理、抽屉原理及其推广,以及容斥定理。文章通过具体的题目案例,如Luogu平台上的题目,帮助读者理解这些原理的实际应用。同时,介绍了排列和组合的基础概念,如全排列、排列数公式以及组合数的计算。最后,讲解了如何利用盒子与球的模型解决相关计数问题,并详细阐述了不同场景下的解题策略,如隔板法及其在有无限制条件下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原理

加法原理

若完成一件事的方法有 n n n 类,其中第 i i i 类方法包括 m i m_i mi种不同的方

法,且这种方法互不重合,则完成这件事有: N = ∑ i = 1 n m i N=\sum^{n}_{i=1}m_i N=i=1nmi (分

类完成)

乘法原理(分步计数原理)

若完成一件事需要 n n n 个步骤,其中第 i i i 个步骤有 m i m_i mi

不同的完成方法,且这种步骤互不干扰,则完成这种事

共有: N = ∏ i = 1 n m i N=∏^{n}_{i=1}m_i N=i=1nmi (分步完成)

抽屉原理(鸽巢原理)

把多于 n n n 个的物体放到 n n n 个抽屉里,则至少有一个抽屉里的东西不

少于两件。

推广

  1. n n n 个物体,划分为 k k k 组,那么至少存在一个分组,含有大于或等于 ⌈ n k ⌉ ⌈\frac{n}{k}⌉ kn 个物品。
  2. 把多于 m n + 1 ( n ≠ 0 ) mn+1(n≠0) mn+1(n=0) 个的物体放到 n n n 个抽屉里,则至少有一个抽屉里有不少于 m + 1 m+1 m+1 的物体。

题目

Luogu P7107 天选之人

容斥定理

U U U 中元素有 n n n 种不同的属性,而第 i i i 种属性称为 P i P_i Pi,拥有属性 P i P_i Pi 的元素构成集合 S i S_i Si,那么 ∣ ∪ i = 1 n S i ∣ = ∑ m = 1 n ( − 1 ) m − 1 ∑ a i < a i + 1 ∣ ∩ i = 1 m S a i ∣ |∪^{n}_{i=1}S_i|=∑^n_{m=1}(-1)^{m-1}∑_{a_i<a_{i+1}}|∩^m_{i=1}S_{a_i}| i=1nSi=m=1n(1)m1ai<ai+1i=1mSai

题目

Luogu P3197 [HNOI2008]越狱
Luogu P6298 齿轮
Luogu P6600 「EZEC-2」字母
Luogu P6692 出生点

排列基础

定义

一般地,从 n n n 个不同的元素中,取出 m ( m ≤ n ) m(m ≤ n) m(mn) 个元素

按照一定的顺序排成一列,叫做从 n n n 个不同的元素中取出 m m m 个元素

的一个线排列,线排列的个数叫做排列数,用符号 P n m P^m_n Pnm表示

全排列

特别地,把 n n n 个不同的元素全部取出按照一定的顺序排成一列,叫

做从 n n n 个不同的元素的一个全排列,全排列的个数叫做全排列数

用符号 P n n P^n_n Pnn表示

排列数公式

P n m = n ! ( n − m ) ! P^m_n = \frac{n!}{(n-m)!} Pnm=(nm)!n!
P n n = n ! P^n_n = n! Pnn=n!

组合基础

定义

一般地,从 n n n 个不同的元素中,取出 m ( m ≤ n ) m(m ≤ n) m(mn) 个元素

不考虑顺序排成一列,叫做从 n n n 个不同的元素中取出 m m m 个元素

的一个非重组合(组合),非重组合的个数叫做非重组合数(组合数),用符号 C n m C^m_n Cnm ( m n ) (^n_m) (mn) 表示

公式

  1. 组合数公式 C n m = n ! m ! ( n − m ) ! C^m_n=\frac{n!}{m!(n-m)!} Cnm=m!(nm)!n!
  2. 帕斯卡公式 C n m = C n − 1 m − 1 + C n − 1 m C^m_n=C^{m-1}_{n-1}+C^{m}_{n-1} Cnm=Cn1m1+Cn1m

C n m C^m_n Cnm 可以从两种状态转移:
1.从前 n − 1 n-1 n1 个元素中取出 m − 1 m-1 m1 个,然后选走第 n n n 个,即 C n − 1 m − 1 C^{m-1}_{n-1} Cn1m1
2.从前 n − 1 n-1 n1 个元素中取出 m m m个,不选走第 n n n 个,即 C n − 1 m C^m_{n-1} Cn1m
由加法原理,得 C n m = C n − 1 m − 1 + C n − 1 m C^m_n=C^{m-1}_{n-1}+C^{m}_{n-1} Cnm=Cn1m1+Cn1m,即杨辉三角形

  1. C n m = C n n − m C^m_n=C^{n-m}_n Cnm=Cnnm

显然从 n n n 中选 m m m 个等同于从 n n n 中取 n − m n - m nm

盒子与球问题

组合数学问题中,我们通常可以将问题转化为盒子与球的模型来简

化问题。

模型

n n n相同\不同 的球,放进 m m m相同\不同 的盒子里,盒子

允许\不允许 为空,求方案数。

解法

  1. n n n不同 的球,放进 m m m不同 的盒子里,盒子 允许 为空,求方案数。

对于每一个球来说,有 m m m 种放法,根据乘法原理,得 m n m^n mn
这种排列即相异元素可重排列

隔板法

在讲下列解法之前,总结一个经典解法:

对于有 n n n相同 的球,放进 m m m不同 的盒子里这种问题,我们可以用隔板法来解决。

  1. n n n相同 的球,放进 m m m不同 的盒子里,盒子 不允许 为空,求方案数。

我们可以把这 n n n 个球排成一列,放进 m m m 个不同的盒子里等同于将这一列球划分成 m m m 个区域。则我们可以用隔板来划分这 m m m 个区域。则有 m − 1 m-1 m1 个隔板,隔板可以放的位置即两个球之间的间隙,则间隙数量为 n − 1 n - 1 n1个。则问题转化成从 n − 1 n-1 n1 个间隙中选 m − 1 m-1 m1个,不考虑顺序,即 C n − 1 m − 1 C^{m-1}_{n-1} Cn1m1

  1. n n n相同 的球,放进 m m m不同 的盒子里,盒子 允许 为空,求方案数。

此问题可以由问题 2 2 2推来。如果在每个盒子里放入一个球,即加了 m m m 个球,则每个盒子不可能为空,那么问题就转化成了问题 2 2 2。即 C n + m − 1 m − 1 = C n + m − 1 n C^{m - 1}_{n + m - 1}=C^{n}_{n + m - 1} Cn+m1m1=Cn+m1n


  1. n n n相同 的球,放进 m m m相同 的盒子里,盒子 允许 为空,求方案数。

f [ i ] [ j ] f[i][j] f[i][j] i i i 个球放入 j j j 个盒子里的方案,则有两种情况:

  1. 存在一个盒子不放球,方案数为 f [ i ] [ j − 1 ] f[i][j-1] f[i][j1]
  2. 所有盒子都放球,方案数为 f [ i − j ] [ j ] f[i-j][j] f[ij][j]

根据加法原理,得到递推式 f [ i ] [ j ] = f [ i ] [ j − 1 ] + f [ i − j ] [ j ] ( 1 ≤ i ≤ n , 1 ≤ j = m i n ( i , j ) ≤ m ) f[i][j]=f[i][j-1]+f[i-j][j](1≤i≤n,1≤j=min(i,j)≤m) f[i][j]=f[i][j1]+f[ij][j](1in,1j=min(i,j)m)
则边界 f [ 0 ] [ 0 ] = 1 f[0][0]=1 f[0][0]=1 f [ n ] [ m ] f[n][m] f[n][m] 即为答案

  1. n n n相同 的球,放进 m m m相同 的盒子里,盒子 不允许 为空,求方案数。

与问题 4 4 4类似。
还是设 f [ i ] [ j ] f[i][j] f[i][j] i i i 个球放入 j j j 个盒子里的方案,则有两种情况:

  1. 存在一个盒子只有一个球,方案数为 f [ i − 1 ] [ j − 1 ] f[i-1][j-1] f[i1][j1]
  2. 所有盒子都有一个球以上,则方案数为 f [ i − j ] [ j ] f[i-j][j] f[ij][j]

根据加法原理,得到递推式 f [ i ] [ j ] = f [ i − 1 ] [ j − 1 ] + f [ i − j ] [ j ] ( 1 ≤ i ≤ n , 1 ≤ j = m i n ( i , j ) ≤ m ) f[i][j]=f[i-1][j-1]+f[i-j][j](1≤i≤n,1≤j=min(i,j)≤m) f[i][j]=f[i1][j1]+f[ij][j](1in,1j=min(i,j)m)
则边界 f [ 0 ] [ 0 ] = 1 f[0][0]=1 f[0][0]=1 f [ n ] [ m ] f[n][m] f[n][m] 即为答案

  1. n n n不相同 的球,放进 m m m相同 的盒子里,盒子 不允许 为空,求方案数。

f [ i ] [ k ] f[i][k] f[i][k] i i i 个球放入 j j j 个盒子里的方案,则对于第 i i i 个球来说有两种情况:

  1. 有一个空盒且放入这个空盒,则方案数为 f [ i − 1 ] [ j − 1 ] f[i-1][j-1] f[i1][j1]
  2. 没有空盒则可放入任意一个盒里,则方案数为 j ∗ f [ i − 1 ] [ j ] j*f[i-1][j] jf[i1][j]

根据加法原理,得到递推式 f [ i ] [ j ] = f [ i − 1 ] [ j − 1 ] + j ∗ f [ i − 1 ] [ j ] ( 1 ≤ i ≤ n , 1 ≤ j = m i n ( i , j ) ≤ m ) f[i][j]=f[i-1][j-1]+j*f[i-1][j](1≤i≤n,1≤j=min(i,j)≤m) f[i][j]=f[i1][j1]+jf[i1][j](1in,1j=min(i,j)m)
则边界 f [ 0 ] [ 0 ] = 1 f[0][0]=1 f[0][0]=1 f [ n ] [ m ] f[n][m] f[n][m] 即为答案
此类数即为第二类斯特林数

  1. n n n不相同 的球,放进 m m m相同 的盒子里,盒子 允许 为空,求方案数。

与问题 6 6 6类似。
考虑 1 − ( n − 1 ) 1 - (n-1) 1(n1) 个盒子为空的情况,则 f [ n ] [ m ] = f [ n ] [ 1 ] + f [ n ] [ 2 ] + … … + f [ n ] [ m − 1 ] f[n][m]=f[n][1]+f[n][2]+……+f[n][m-1] f[n][m]=f[n][1]+f[n][2]++f[n][m1]
则边界 f [ n ] [ 1 ] = 1 f[n][1]=1 f[n][1]=1 f [ n ] [ m ] f[n][m] f[n][m] 即为答案
此类数即为贝尔数

  1. n n n不相同 的球,放进 m m m不相同 的盒子里,盒子 不允许 为空,求方案数。

与问题 6 6 6相似(不能说一模一样,只能说毫无差别)
因为盒子不同,所以最后要乘盒子的全排列,即 f [ n ] [ m ] ∗ A m m f[n][m]*A^m_m f[n][m]Amm

内容概要:《2024年中国城市低空经济发展指数报告》由36氪研究院发布,指出低空经济作为新质生产力的代表,已成为中国经济新的增长点。报告从发展环境、资金投入、创新能力、基础支撑和发展成效五个维度构建了综合指数评价体系,评估了全国重点城市的低空经济发展状况。北京和深圳在总指数中名列前茅,分别以91.26和84.53的得分领先,展现出强大的资金投入、创新能力和基础支撑。低空经济主要涉及无人机、eVTOL(电动垂直起降飞行器)和直升机等产品,广泛应用于农业、物流、交通、应急救援等领域。政策支持、市场需求和技术进步共同推动了低空经济的快速发展,预计到2026年市场规模将突破万亿元。 适用人群:对低空经济发展感兴趣的政策制定者、投资者、企业和研究人员。 使用场景及目标:①了解低空经济的定义、分类和发展驱动力;②掌握低空经济的主要应用场景和市场规模预测;③评估各城市在低空经济发展中的表现和潜力;④为政策制定、投资决策和企业发展提供参考依据。 其他说明:报告强调了政策监管、产业生态建设和区域融合错位的重要性,提出了加强法律法规建设、人才储备和基础设施建设等建议。低空经济正加速向网络化、智能化、规模化和集聚化方向发展,各地应找准自身比较优势,实现差异化发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值