例 1:三个变量都不超过三
有多少组有序整数 满足 且 ?
怎么看出来:
先数全部非负解,再减至少四的坏事件。
解:
全部有 组。指定变量至少四时,扣四后总和为一,有 组;三种变量共 。两个变量同时至少四不可能。故有 组。
答案:
。
专题地图 › 排列组合与概率
目标训练建设中。知识要点、方法卡和分级真题已可使用;先从一道真题开始,卡住时逐级看提示,核对后再换题验证。
经典计数模型的关键是先说清对象:位置和人物是否可区分、有没有顺序、空对象是否允许、同一个结果会出现几次。再把限制编码成分配、步型、间隙、图或数位,找到可逆的对应后使用加法与乘法原理。公式里的每个因子都应有具体选择含义,不能把概率独立或等可能当作没有给出的条件。
1. 先修与破题直觉:先把题目翻成整数分配、步行路径或图着色,再在最小例子中检查计数对象能否唯一还原。
2. 核心条件辨析:隔板公式要标明非负或全正、盒子有无标号;路径的终点约束与所有前缀约束不同;环图还有首尾相邻的一条边。
3. 典型误区对比:下方卡片分别修正上界分配和非负路径的漏条件;自测每个干扰项都对应一个还没落实的限制。
4. 方法迁移带练:把六步非负回零路改成四步,六条回零路径中只有 与 两条合法;先手列再理解反射配对。
5. 分级真题实战:先练“平移分配、固定权重与容斥”,再练“位移方程、步型排列与反射”,最后用“禁配图、环着色与匹配递推”辨认首尾约束。
分类相加要互斥且穷尽;分步相乘须确认每个前缀后确有相同数目的后续选择。例:从各球均可区分的 个红球与 个蓝球中各取一个,有 种;若只取一个,则为 种。这里使用的是选择的一一对应,不是额外假设随机抽样独立或等可能。后续选择数依前缀变化时,应先分类再求和。
三个不同对象取两个组成集合有 种,排成两位则有 种。把有序计数除以阶乘,必须证明每个结果确被同样次数表示;图上固定位置的染色也不自动按旋转合并。空集合、空路径或空盒能否出现由题意决定,不能因为习惯就任意补入或删去。
相同单位分给有标号的 个位置,非负整数解 在整数 时有 种。全正解先各减 ;若 就无解。例:三项和为 ,非负解有 种,正解有 种;在上述非负解中另要求每项不超过 ,从 种中扣除三类超界各 种后得 。加权方程不能直接套同权隔板法。
长度 的直线上选 个不相邻位置,其中 ;将第 个位置左移 ,可对应到 个位置中任选 个。例:五个位置选两个不相邻,有 种。若要求选中的每个元素都不孤立,则应按极大连续段分解,每段长度至少为 ,不能反过来用不相邻位置公式。
六步每次为 或 ,净位移为 时,正步四次、负步两次,共 种。若另要求六步首尾同高且全过程不低于起点,则为 种,需要反射原理扣掉越界路径。能走对角线时,一步同时完成两个方向的位移,必须先扣除这两份位移再排列步型。
相邻异色对应图的正常着色,两两配对对应匹配;互逆且平方为恒等的映射由不动点和换位组成。固定标号的四边形用三种颜色正常着色有 种;长度至少为四的偶环,其完美匹配只有两种交替选边。分成互不相交的分量后可以相乘,但顶点共享或约束跨分量时不能这么做。
对含 个不同元素的集合,每个元素在全部子集中恰出现 次。例:集合 的全部子集元素和之总和为 。若仅删空集,这个总和仍为 ,因为空集贡献为零;但方案个数由 变为 ,不能把两种问题的空对象约定混为一谈。
完整的两位三进制串允许前导零时,表示 到 。两数相加不进位,每位有 个有序数字对,所以共有 对;若两数都须正,扣除零边界后为 对。不是完整数位范围的上界,应按首次小于上界的位置分类;剩余位仍要核数码上限,而不能一概独立相乘。
把每个变量的最低要求扣掉,得到非负整数。无上界且单位相同的有序分配可用隔板法;有上界时,把越界变量从上界加一处平移,再用容斥扣除。
,各 为整数,解数为 :把 个相同单位和 个隔板排成一串。变量有名字,故顺序有意义,不能再除以 。
的坏事件是 。令 后按新总和隔板。坏事件并集用容斥:单个相减、两两交集加回、三重再减。
不能当同权隔板,可先固定 ,再固定 ,由余量定 。总量只要求不超过 时,可以添加非负松弛变量,把剩余总量记录为一个新变量。原有坐标上界仍须检查。
有多少组有序整数 满足 且 ?
怎么看出来:
先数全部非负解,再减至少四的坏事件。
解:
全部有 组。指定变量至少四时,扣四后总和为一,有 组;三种变量共 。两个变量同时至少四不可能。故有 组。
答案:
。
| 题目里看到 | 应该想到 |
|---|---|
| 每类至少一件 | 先减一变非负 |
| 各变量有上界 | 从上界加一建坏事件 |
| 各单位权重不同 | 固定重权变量分层数 |
非负整数解 有多少组?
怎么看出来:
按 分类。
解:
时 ,四组; 时 ,两组; 时只有 ,一组。每次 由余量唯一确定,总计 。
答案:
。
路径可编码为步型字符串。先由总步数与净位移确定每种步的次数,再用组合数排列。终点相同的路径仍可能途中越界,前缀限制须另外处理。
单位左右步,若总数为 、净位移为 ,则右步 、左步 ;两数必须是非负整数。允许右、上、右上对角步到 时,固定对角步数 后,三类步数为 。
各类步次数为 ,总步数 ,排列数为 ,因为同类步的临时编号互换不产生新路径。对角步数可变时须分类相加。
正负单位步从零到零,要求所有前缀非负。坏路径第一次到 时,把之前所有正负步互换,终点由 变为 ;反过来对终点为 的路径,在首次到 处反射,恢复坏路径。这个双射给出坏路径数。多重边界或禁止重复点要另建模型。
从 出发,每步加一或减一,走六步回到零,且中途不小于零。有多少条路径?
怎么看出来:
全部有三正三负,坏路径反射到终点二。
解:
全部有 条。反射双射后的路径有四正两负,共 条,故合法 条。
答案:
。
| 题目里看到 | 应该想到 |
|---|---|
| 步数和终点已知 | 解各种步次数 |
| 允许对角步 | 按对角步数分类 |
| 途中不能低于零 | 找首次越界反射双射 |
从 到 ,每步可为 。有多少条路径?
怎么看出来:
对角步数只能为零或一。
解:
无对角步时,有两右一上,共 条;一对角步时,有一右一对角,共 条。步型编码唯一,分类互斥,总共 条。
答案:
。
图由顶点和连接顶点的边组成。每条边表示一种关系:允许配对、禁止同选或要求异色。匹配是若干互不共用顶点的边;完美匹配覆盖全部顶点;正常着色要求相邻顶点异色。
固定步长的圆周关系可按顶点编号的同余结构拆成互不连接的分量,分量间没有边才可独立相乘。长度至少四的偶环有两种完美匹配:固定顶点配左邻或右邻后,剩下的边都被迫确定。
环着色不能只按一条链算后相乘,末顶点还要与首顶点异色。可固定首色,按当前末色是否等于首色分状态,再在最后施加闭合条件。顶点位置有标号时,不能擅除旋转。
对合是满足 的置换,因此循环只能长一或二,分别对应未配顶点或一条配对边。沿一条链只允许邻接配对时,最右端要么不配,要么与前一个配,于是 ,。
顶点 按顺序成环,只允许相邻配对。有多少种完美匹配?
怎么看出来:
顶点一只能配二或四。
解:
若配 ,剩下只能配 ;若配 ,剩下只能配 。两种穷尽且不同。
答案:
。
| 题目里看到 | 应该想到 |
|---|---|
| 相邻对象禁止同色 | 构造正常着色图 |
| 固定距离配对 | 把允许关系画成边 |
| 对合映射 | 保留不动点和二循环两类 |
是 上的对合,非不动点只能与相邻整数互换。有多少个 ?
怎么看出来:
最右端不动或配三。
解:
,,所以 。分别为空匹配、三条单边匹配、同时配 ,共五种。
答案:
。
不要一个子集一个子集地加。把总和换个方向算:固定一个元素,数它出现在多少个子集里,乘上它的值,再把所有元素加起来。
的 8 个子集的元素和是 ,总和 24。换个方向:1 出现在 这 4 个子集里,2 和 3 同样各出现 4 次,所以总和是 。把这张“子集—元素”表按行加和按列加,结果一定一样,因为加的是同一批数。
个元素的集合中,包含元素 的子集: 必须选,其余 个元素各有选、不选 2 种,所以有 个。于是所有子集的元素和的总和 = 元素总和 。空集的元素和是 0,所以算不算空集,这个总和都不变。反过来,知道了这个总和,除以 就得到元素总和。
只对“全部子集”成立。限定 3 个元素时,包含 的子集要从其余元素中再选 2 个。 表示从 个里选 个的选法数,例如 :按先后选有 种,同一对被数了 2 次,所以除以 2。
中所有含元素 1 的子集,把它们的元素和全部相加,结果是多少?
怎么看出来:
只看含 1 的子集,所以 1 和其他元素的出现次数不同,要分别数。
解:
含 1 的子集:其余 4 个元素自由,有 个,所以 1 出现 16 次。元素 2 要出现时,1 和 2 都已确定,其余 3 个元素自由,有 个, 同样各 8 次。总和是 。
答案:
。
| 题目里看到 | 应该想到 |
|---|---|
| 所有子集的元素和的总和 | 每个元素出现 次 |
| 限定了大小或必须含某元素 | 重新数每个元素出现的次数 |
| 子集太多,单个元素的次数好算 | 交换求和方向 |
| (把各项加起来),或所有子集的元素个数之和 | 每个元素贡献 1(见进阶“个数之和与求和式”) |
| 遍历所有 ,求 (至少在其一中的元素个数)之类的和 | 固定元素,数它符合的状态(见进阶“多个集合的总和”) |
| 求所有排列的某个量之和 | 固定位置或固定一对数(见进阶“排列与两种分法”) |
的所有 3 元子集,把它们的元素和全部相加,结果是多少?
怎么看出来:
子集太多不想逐个列,单个元素出现的次数却好算。限定了 3 个元素,所以不能用 。
解:
含元素 的 3 元子集,要从其余 5 个元素中再选 2 个,有 个。每个元素都出现 10 次。元素总和是 ,所以结果是 。检查:3 元子集共 个。把每个子集里的 换成 ,元素和 变成 ,子集两两配对,所以平均和是 ,。
答案:
。
( 表示把 的各项加起来)就是所有子集的元素个数之和,因为恰含 个元素的子集有 个。每个元素是 1 分,出现 次,所以和是 。 时 。这个结论可以再用:,因为全部子集的 之和是 ,而从 加到 的和里, 一项是 , 一项是 0,去掉它们要加回 1。 时 。这种式子常用在“先选并集,再选分割点”的题里。
若集合的元素写成 ,,且不同的 给出不同的数,那么元素是 ,总和 22。按位算:常数 4 出现 4 次; 的情况占一半,2 出现 2 次; 的情况也占一半,1 出现 2 次。。用这个方法前要确认不同的取法不会给出相同的数,因为集合里相同的数只算 1 个。
元素 对 贡献 1,当且仅当它至少在 之一中。这里 表示 的元素个数, 遍历 元集合的全部子集。 在 中有 4 种状态,其中 3 种符合,其余 个元素各 4 种,所以 被计入 次,再乘元素个数 。有限制时分别数。例如 , 是 的子集且 ,求 之和。元素 1 有 2 种状态(只在 、都在),都计入,其余 2 个元素各 4 种,计入 次。元素 2 要计入:3 种状态,元素 1 有 2 种,元素 3 有 4 种,计入 次,元素 3 也是 24 次。总和是 。
有 4 个元素, 独立取遍 的全部子集。把每次 中不在 里的元素个数加起来,结果是多少?
怎么看出来:
逐对计算要算 对。元素 产生贡献只有一种状态:只在 。
解:
固定元素 。它要计入,状态必须是“只在 ”,1 种;其余 3 个元素各有 4 种状态。所以 被计入 次。4 个元素共 。
答案:
。
把子集从大到小交替加减,每个元素的正负取决于子集里比它大的数有几个:有偶数个时为正,奇数个时为负。例如 的所有 3 元子集,求结果之和。4 总是最大,在 3 个子集里都为正,贡献 。3 在 里为正,在另 2 个含 3 的子集里为负,贡献 。2 在 里为负,在 里为正,贡献 。1 总是第 3 个,都为正,贡献 。总和是 。逐个检查:,和也是 10。不限大小时,还可以切换最大元素 配对:不含 的子集结果为 ,加入 后变成 ,每对和为 。
排列也能这样算。第 位恰为 时,叫不动点。给每个不动点 记 分,求 所有排列的总分:固定 ,它是不动点的排列有 个,其中 表示 ,所以总分是 。 时是 ,逐个排列的得分是 ,和是 12。还有一种用法:同一批对象用两种分法数。4 个数每次去掉 1 个求和,得到 :每个数出现在 3 个和里,所以 ,。5 人互相握手,每人恰握 2 次:按人数是 人次,每次握手算 2 人次,所以共 5 次握手。
在一个排列中,前面的数大于后面的数就叫 1 个逆序对。求 的全部 24 个排列中逆序对的总数。
怎么看出来:
不要逐个排列数,固定一对数,看它在多少个排列中构成逆序对。
解:
任取一对数 。把排列中的 交换,排列仍是排列,并且这对数的先后反过来。所以恰好一半的排列里 在 之前,有 12 个。这样的数对有 个,总数是 。
答案:
。
不求和、只求个数的题,可以把每个元素看成独立的开关。 时,每个元素看它最早进入哪一层,有 4 种状态。 上要求 、:元素 1 只有 1 种,元素 2 有 4 种,元素 3 不在 中,只看在不在 ,有 2 种,共 组。奇偶问题用切换: 中含 2 且和为奇数的子集,含 2 的子集有 个,切换元素 1 把和的奇偶反过来,所以奇和、偶和各占一半,有 8 个。
固定长度的数位串给每个整数唯一表示,必要时允许前导零。若上界不是完整的进制范围,应沿上界保留相等前缀,并把“第一次变小的位置”分成互斥类,再数自由后缀。
在 进制,每位数字为 ,数值为位权 的加权和。范围 与长度 、允许前导零的数位串一一对应。
从最高位开始,若前缀都等于上界,就不能任意选下一位。当前位首次变小后,剩余后缀才全部自由;若所有位都相等,单独计上界本身是否满足限制。
固定数码和可用非负整数解计数,但每位仍不能超过 。无进位加法要求每位两数码之和不超过 ,不同位可独立选择只适用于完整的固定长度范围。有额外整数上界时仍须追踪前缀。
在 中,每位只允许 ,有多少个整数?
怎么看出来:
统一为三位,允许前导零。
解:
百位为 或 时,后两位各三种,得 。百位为 时,十位只能为 ,都小于上界十位 ,个位任取,得 。共 ,含 。
答案:
。
| 题目里看到 | 应该想到 |
|---|---|
| 范围是完整进制幂 | 逐位独立数 |
| 上界有具体数位 | 沿相等前缀分首次变小 |
| 数码和固定 | 保留每位数字上界 |
,相加时每一位都不进位。有多少个有序对 ?
怎么看出来:
每位选两个有序数字,其和至多九。
解:
一位的选择数是 。十位和个位独立,前导零允许表示所有范围内整数,所以共 。有序对不能再除二。
答案:
。
从一排位置里选 个,没选的位置被分成 段空隙(一段可以是空的)。不相邻就是中间每段至少有 个位置,于是数选法变成数空隙。
在 里选 。记录最左边的空位数、相邻两个之间的空位数、最右边的空位数,一共 个非负整数,和是 。例如 选 ,空隙依次是 ,和是 。反过来,给定这组空隙就能还原出唯一的选法。
先放 个没选的位置,它们产生 个空隙(含两端)。选中的位置放进不同空隙,就互不相邻,反过来互不相邻的选法也都这样得到。所以从 个位置选 个互不相邻,有 种。这里 是从 个里选 个的选法数,; 时为 ,。
,其中 是非负整数,。 可取 , 定了 也定了,所以有 组解。
从 里选 个互不相邻的数,一共有 种选法。求 。
怎么看出来:
选的数互不相邻,方法数可以用公式写出来,再解方程。
解:
选法数是 。依次计算:,,,。 随 增大而严格增大(),所以只有 ,即 。检验: 时公式给出 。
答案:
。
| 题目里看到 | 应该想到 |
|---|---|
| 选出的数“不相邻”“差至少为 2” | 用 ,或写成空隙 |
| 相邻两个之间的距离有要求,如相等、至多几个 | 把空隙设成未知数,枚举后数其余空隙 |
| 某符号不相邻,但没说几个 | 按出现次数分类,包括 次(见进阶“个数不定”) |
| “至少隔 个” | 压紧后用组合数(见进阶“间隔的上下界”) |
| “无孤立元素”“由连续整数组成” | 按极大连续段的长度分类(见进阶“连续段”) |
| 首尾也算相邻,或正多边形的顶点 | 按是否含位置 1 切开,或把弧看成空隙(见进阶“圆周上选位置”) |
| 只能右、上、下走的窄网格 | 向右步数已定,按列放竖直步(见进阶“窄网格”) |
一排有 个车位,停 辆相同的车。第 1、2 辆车之间的空车位数,等于第 2、3 辆车之间的空车位数,并且至少是 。有多少种停法?
怎么看出来:
条件说的就是中间两段空隙,所以直接把 段空隙设成未知数。
解:
设最左边、两车之间( 段都是 )、最右边的空车位数依次是 。总空位是 ,所以 ,,。按 分类: 时 ,有 组; 时 ,有 组; 时 ,有 组; 时 ,没有解。车相同,不用再乘排列。合计 。
答案:
种。
题目只说某符号不相邻、没说有几个时,它出现的次数 可以是 。 也是 类,不能漏。每类先选位置,再填其余位置,最后相加。
用 组成长度为 的字符串, 不能相邻,首位不是 。这样的字符串有多少个?
怎么看出来:
出现几次没有规定,要分类;首位不是 , 只能在后 位。
解:
设 出现 次,在第 到第 这 个位置里选互不相邻的 个,有 种,其余 位各有 这 种。:。:。:。:。合计 。
答案:
个。
要求相邻两个选中的数之间至少有 个空位(),也就是 。令 , 严格递增且都在 到 内,这个对应是一一的,所以有 种()。 就回到不相邻的公式。如果 ,一种也没有。
上界不能压紧。这时先枚举相邻两数的差(或各段空隙),再数这种差能放在几个起点。选的是不同的人时,最后再乘人的排列数。元素不相邻的条件换成“同类至多连续 2 个”时,也是空隙上界:以另一类元素为骨架,每个空隙至多放 个。
从 里选 ,要求 且 。有多少种选法?
怎么看出来:
差有上界,没法压紧。差只有 、 两种取值,枚举差再数起点。
解:
设 ,,都取 或 。差定了以后,,所以 可取 到 ,共 个值。( 种差): 种。( 种差):各 种,共 种。( 种差): 种。合计 。
答案:
种。
一个选中的数,如果左右两个邻数都没选,就叫孤立元素。把选中的数分成极大连续段:段内数字连续,不同段之间至少隔 个。无孤立元素就是每段长度至少为 。先分长度,再按空隙放段。段和段不能相接,否则就成了一段,会重复计数。
从 里选 个数,必须含 和 ,且没有孤立元素。有多少种选法?
怎么看出来:
含 和 ,说明第一段从 开始,最后一段到 结束。按段长分类。
解:
只有 段时要 个数,不可能,所以至少 段;每段至少 个数,所以至多 段。 段:长度 ,,,有 ,第一段从 开始、第二段到 结束,位置都定了,共 种。 段:长度只能都是 ,首段 ,末段 ,中间一段不能和它们相接,只能在 里取 个连续的数,有 ,共 种。合计 。
答案:
种。
个位置围成一圈,首尾也相邻,选 个互不相邻()。 时一种也没有,下面设 。含位置 :它的 个邻位不能选,其余 个位置排成一行,选 个互不相邻,有 种。不含位置 :其余 个位置排成一行,有 种。两类相加。
正 边形选 个顶点,把圆周分成 段,每段的边数之和是 。圆周角等于所对圆弧的圆心角的一半,所以三角形是钝角三角形,当且仅当某一段弧超过半圈,即这段的边数大于 。于是数钝角三角形,就是数空隙有下界的选法。
圆周上有 个位置,首尾相邻。选 个位置,恰好有一对相邻。有多少种选法?
怎么看出来:
恰好一对相邻,就是一块长度为 的段加上一个孤立的位置。先定这一块。
解:
长度为 的块在圆周上有 个位置。第三个位置不能在块内,也不能挨着块,否则就不是恰好一对相邻。块占 个,两侧各 个邻位不能选,所以第三个位置有 种。这块是唯一的相邻对,所以每种选法只被数 次。总数 。
答案:
种。
的非负整数解有 组: 个球和 块隔板排成一行,隔板位置有 种。把 按顺序切成若干段,就是选切口。要把一些数分入有序的非空组 ,且前一组的数都小于后一组时,先定选了 个数( 种),再在这 个数的 个间隙里选 个切口( 种),对 求和。
把 按从小到大的顺序切成 段,每段至少 个数。有多少种切法?
怎么看出来:
切法由 段的长度决定,长度有下界,先各减去下界。
解:
设段长 ,,都至少是 。令 ,,,得 ,都是非负整数。解的组数是 。
答案:
种。
只能向右、向上、向下走且不重复经过点时,同一列里不能折返,竖直步在这一列是单方向的一段。向右的步数由起点终点决定,所以路径由“每列走哪些竖直步”决定。网格很窄时,竖直步的方向顺序很少,先列顺序,再按列分配。
网格的格点是 ,,。从 走到 ,只能向右、向上、向下走,不能重复经过点。有多少条路径?
怎么看出来:
向右固定 步,只需决定竖直步放在哪些列。
解:
向右恰好 步。每列()至多走 次竖直步:一列只有 个格点,走 次就回到经过的点。竖直步只能上、下交替,从 开始到 结束,所以竖直步的个数是奇数。选好哪些列走竖直步,上下方向就由交替决定,路径唯一确定。选 列有 种,选 列有 种,合计 。
答案:
条。
、三者非负且 ,按隔板直接得 。
十五只处理总量与非负,未处理上界;不合的 令 ,有 共三种,故合法十二。
基本分配公式不自动包括单变量上界,需平移后容斥。
六步每次 或 ,末点回到零,所以全程不低于零的路径有 条。
二十条只要求三正三负;在首次到达 后,将剩余各步正负互换,坏路径一一对应到终点为 的两正四负路径,共 条,因此合法五条。
终点条件是总量,前缀条件限制顺序,两者不能互相替代。
先想清楚,再确认判断。这些自测只帮助辨清概念,不计入真题做对率。
从易到难排列。圆点表示你在这台设备上的做题情况:绿色做对、黄色部分做对、红色没做出。