一、组合存在性问题 1.鸽巢原理(简单形式) :证明某种配置存在. 把 n + 1 个物体放入 n 个盒子,则至少有 1 个盒子包含 2 个 或 2 个以上的物体. 2.鸽巢原理(一般形式) (1)设 q1,q2,…,qn 是给定正整数,若把 q1+q2+…+qn-n+1 个物 体放入 n 个盒子里,则或第一个盒子至少包含了 q1

Download Report

Transcript 一、组合存在性问题 1.鸽巢原理(简单形式) :证明某种配置存在. 把 n + 1 个物体放入 n 个盒子,则至少有 1 个盒子包含 2 个 或 2 个以上的物体. 2.鸽巢原理(一般形式) (1)设 q1,q2,…,qn 是给定正整数,若把 q1+q2+…+qn-n+1 个物 体放入 n 个盒子里,则或第一个盒子至少包含了 q1

一、组合存在性问题
1.鸽巢原理(简单形式)
:证明某种配置存在.
把 n + 1 个物体放入 n 个盒子,则至少有 1 个盒子包含 2 个
或 2 个以上的物体.
2.鸽巢原理(一般形式)
(1)设 q1,q2,…,qn 是给定正整数,若把 q1+q2+…+qn-n+1 个物
体放入 n 个盒子里,则或第一个盒子至少包含了 q1 个物体,
或者第二个盒子至少包含了 q2 个物体,…, 或者第 n 个盒子
至少包含了 qn 个物体。
说明:这是存在这种配置的最小个数
q1=q2=…=qn=2, 则变成简单形式
推论 若 n(r-1)+1 个物体放到 n 个盒子里,则存在一个盒子
至少包含了 r 个物体. 令 q1=q2=…=qn=r 即可.
(2)算术平均形式:设 m1, m2, …, mn 是 n 个正整数,
如果它们的算术平均
m1  m 2  ...  m n
 r 1
n
则存在 mi  r
(3)函数形式:设 f:AB, |A|=m, |B|=n, 若 m>n,
则存在至少n/m个元素 a1, a2, …, an/m 使得
f(a1)=(a2) = ..= f(an/m)
鸽巢原理的应用
中心思想:两个有穷集之间的对应
m 对应于 n 个  存在一组(至少m/n个)对应于 1 个
存在一组(至多m/n个)对应于 1 个
用途:证明某种配置的存在
方法:构造鸽子和巢
鸽子对应于配置、数
巢对应于模式、取值
二、组合计数
1. 基本的计数法则——加法法则、乘法法则
加法法则 p1+ p2 + … + pn
乘法法则 p1 p2 … pn
前提条件
应用
加法法则
不重叠
分类处理
乘法法则
相互独立
分步处理
一般:分类计数,
分步计数
2. 计数模型
(1) 选取问题
不 重复
重复
有序
集合排列 P(n,r)
多重集排列
无序
集合组合 C(n,r)
多重集组合
公式:
n!
( n  r )!
n!
C ( n, r ) 
r!( n  r )!
P ( n, r ) 
n!

, r  n,

P ( n1 , n2 ,, nk , r )   n1 ! n2 ! nk !
 k r  r  n , i  1,2,...,k
i

C ( n1 , n2 ,, nk , r )  C ( k  r  1, r ) r  ni , i  1,2,...,k
(2) 非降路径问题
从(0,0)到(m,n)点的非降路径数 C(m+n,n)
从(a,b)到(m,n)点的非降路径数平移处理
从(0,0)到(m,n)点的有约束条件的非降路径数
中间经过(a,b)点:乘法法则分步处理
经过或到达某条线:按照经过的点分类处理
不交于对角线(不穿过对角线):对应处理
应用:证明组合恒等式
实际计数问题
(3) 不定方程的整数解问题
基本模型
x1  x2  ...  xk  r
xi  N
1
(1  y  y  ...) 
(1  y ) k
2
k
上下限约束条件
x1  x 2  ...  x k  r
xi  N
l i  x i  ni
(y l  y l 1  ...  y n )( y l  y l 1  ...  y n )...
1
1
1
2
( y l  y l 1  ...  y n )
k
k
k
2
2
带系数
p1 x1  p2 x2  ...  pk xk  r
pi  Z 
xi  N , l i  xi  ni
( y l1 p1  y ( l1 1) p1  ...  y n1 p1 )( y l2 p2  y ( l2 1) p2  ...  y n2 p2 )...
( y lk pk  y ( lk 1) pk  ...  y nk pk )
变形
例 12
x1 + 2x2–2x3 = 6
-1  x1  1, 0  x2  3,
令 x3’ = -x3,
x1 + 2x2 +2x3’ = 6
-1  x1  1, 0  x2  3,
-2  x3  3
-3  x3  2
(4) 正整数的剖分问题
无序剖分
基本模型:
将 N 无序剖分正整数1, 2, …,n,不允重复
1 x1   2 x2  ...   n xn  N
0  xi  1
将 N 无序剖分正整数1, 2, …,n,允许重复
1 x1   2 x2  ...   n xn  N
0  xi
加限制条件
剖分后至少含有一个 i---生成函数
剖分成 k 个正整数 (k  r)----组合对应
有序剖分
把 N 有序剖分成 r 部分,允许重复方案数 C(N-1,r-1)
(5)放球问题:n 个球放到 m 个盒子里的方法数.
球标
号
盒子
标号
允许
空盒
放球方法数
对应的组合问题
否
否
否
Pm(n)Pm-1(n)
否
否
是
Pm(n)
否
是
否
C(n1,m1)
x1+x2+…+xm=n 的正整数解
否
是
是
C(n+m1,n)
x1+x2+…+xm=n 的非负整数解
是
否
否
n
 
m 
是
否
是
n
 m 
k 1 
是
是
否
是
是
是
n
m!  
m 
m 
m
 m   n
  k k k!
k 1
将 n 无序拆分成 t 个部分(tm)
第二类 Stirling 数
m
n
将 n 恰好无序拆分成 m 部分
 
第二类 Sirling 数性质
第二类 Stirling 数性质
乘法法则
3. 计数方法
(1)递推方程
根据实际问题列出递推方程
求解方法:
公式法、换元法、迭代归纳法(差消法、尝试法)
(2) 生成函数与指数生成函数
求出实际计数问题的生成函数
展开生成函数求出数列通项——计数问题的解
4.计数符号及其性质
C(m,n)
n




n
n
...
n
 1 2 t
m 元集的 n 组合数
m 元集 n 排列数
多重集的全排列数
f(n)
fibonicci 数
1  2n  2 

hn  
n  n  1 
 n
k 
 
P(m,n)
Dn
错位排列数
Catalan 数
第一类 Stirling 数
组合含义
递推方程及初值, 重要的恒等式
生成函数或指数生成函数.
 n
 
k 
第二类 Stirling 数