zoukankan      html  css  js  c++  java
  • 《组合数学》学习笔记

    1.2 一一对应

    定理 1-1 (Cayley 定理)

    完全图 (K_n)(n^{n-2}) 种生成树。

    书中给出的证明方式(构造 (b_{1dots (n-2)}))实际上是 Prufer 序列

    1.4~1.6 排列组合的变种

    圆周排列

    (n) 个中选 (k) 个在圆周上进行排列,方案数以 (Q(n,k)) 表示。

    根据定义可得 (Q(n,k)=dfrac{A(n,k)}{k})

    可重组合

    (n) 个元素中取 (r) 个,可以重复取,方案数为 (dbinom{n+r-1}{r})

    证明

    等价于在 ({1,2,dots,n}) 中取 (r) 个可以重复的元素 ((a_1,a_2,dots,a_r)),其中 (a_1le a_2le dots le a_r)

    (a_igets a_i+i-1),那么它就转换成了从 ({1,2,dots,n+r-1}) 中选择 ((a_1,a_2,dots,a_r))(a_1<a_2<dots<a_n)(r) 元组个数,即为 (dbinom{n+r-1}{r})

    反之亦然。

    不相邻的组合

    (A={1,2,dots,n})中取 (r) 个不相邻元素的方案数为 (dbinom{n-r+1}{r})

    证明

    等价于在 (A) 中取 (r) 元组 ((a_1,a_2,dots,a_r))(a_1<a_2-1,a_2<a_3-1,dots,a_{r-1}<a_r-1) 的个数。

    (a_igets a_i-i+1) 即可。

    反之亦然。

    线性方程组的解数

    线性方程 (x_1+dots+x_n=b) 的非负整数解的个数为 (dbinom{n+b-1}{b})

    可重组合的证明

    可以看作 (n) 个有区别的盒子内放 (b) 个无区别的球,允许一个盒子内放多个球,即为 (dbinom{n+b-1}{b})

    隔板法的证明

    也可以看作 ((b+1)) 个位置里放入 ((n-1)) 个隔板,且允许一个位置放多个隔板。于是它的方案数也是 (dbinom{n+b-1}{b})

    1.7 组合意义

    例 1-33

    求证:(dbinom{n+r+1}{r}=dbinom{n+r}{r}+dbinom{n+r-1}{r-1}+dots+dbinom{n+1}{1}+dbinom{n}{0})

    代数推导

    [egin{aligned} mathbf{LHS} &= dbinom{n+r}{r}+dbinom{n+r}{r-1} \ &= dbinom{n+r}{r}+dbinom{n+r-1}{r-1}+dbinom{n+r-1}{r-2} \&= dots \&= mathbf{RHS} end{aligned} ]

    组合意义

    我们考虑一个原点在 ((0,0)) 的网格。左式即为 ((0,0) o (n+1,r)) 的路径条数。那么,从第 (n) 行到第 ((n+1)) 行,显然有 (r) 种情况:经过 ((n,r),(n,r-1),dots,(n,0)),且从这些点到 ((n+1,r)) 的路径是唯一的。于是对于每个中间点计算从 ((0,0)) 到它的路径条数即可。

    例 1-35

    求证:(dbinom{n}{0}+dbinom{n}{1}+dbinom{n}{2}+dots+dbinom{n}{n}=2^n)

    代数推导

    (egin{cases}x=1 \ y=1end{cases}) 代入二项式定理 ((x+y)^n) 即可。

    组合意义

    考虑一个网格,其中有一条 ((0,n)leftrightarrow (n,0)) 的线段。可以发现,这条线段上各点到 ((0,0)) 的曼哈顿距离相同,都为 (n)。所以相当于一共要走 (n) 步,每步可以向上或向右走,方案数为 (2^n)

    另一种计算方法是,分别统计线段上 (n) 个点的方案数,即 (dbinom{n}{0}+dbinom{n}{1}+dbinom{n}{2}+dots+dbinom{n}{n})

    两者相等,证毕。

    例 1-37

    求证:(dbinom{m+n}{r}=dbinom{m}{0}dbinom{n}{r}+dbinom{m}{1}dbinom{n}{r-1}+dots+dbinom{m}{r}dbinom{n}{0},rle min(n,m))

    组合意义一

    考虑两个集合 (A,B)(|A|=m,|B|=n),我们要从 (A,B) 中共取出 (r) 个元素,即 (dbinom{m+n}{r})

    那么一共有 (r) 种取法:(A) 中取 (0dots r) 个,(B) 中取 (rdots 0) 个。对于每种情况,表示一下即可。

    组合意义二

    考虑一个网格,(dbinom{m+n}{r}) 即表示 ((0,0) o (m+n-r,r)) 的路径条数。

    考虑一条 ((m-r,r)leftrightarrow (m,0)) 的线段。显然每条 ((0,0) o (m+n-r,r)) 的路径都需要经过这条线段上的某个点,设这个点为 ((m-x,x)),那么 ((0,0) o (m-x,x)) 的条数为 (dbinom{m}{x})((m-x,x) o (m+n-r,r)) 的条数为 (dbinom{(m+n-r)-(m-x)+(r-x)}{r-x}=dbinom{n}{r-x})。根据乘法原理,得证。

    1.8 应用举例

    例 1-44

    在一个网格中,问 ((0,0) o (m,n)) 且经过的所有点 ((a,b)) 都要满足 (a<b) 的路径数。保证 (m<n)

    首先,第一步一定是 ((0,0) o (0,1))。考虑 ((0,1) o (m,n)) 的路径中,有多少条路径是不合法的。

    可以发现,一条不合法的路径一定触碰了直线 (y=x)。将这条不合法的路径做其关于 (y=x) 的对称路径,那么这个新路径就是一条 ((1,0) o (m,n)) 的路径。反之亦然,所以 ((0,1) o (m,n)) 的不合法路径与 ((1,0) o (m,n)) 的路径一一对应。

    所以方案数为 (dbinom{m+n-1}{n-1}-dbinom{m+n-1}{n})

    2.2 母函数

    定义 2-1

    对于序列 (C_0,C_1,dots) 构造一函数 (G(x)=C_0+C_1x+C_2x^2+dots) 称为序列 (C_0,C_1,dots) 的母函数。

    母函数是形式幂级数,计算时不考虑其是否收敛。

    3.1 De Morgan 定理

    集合 (A,B) 为集合 (U) 的子集,那么有 (overline{Acup B}=overline{A}cap overline{B})(overline{A cap B}=overline{A} cup overline{B})

    多元形式类似。

    3.2 容斥原理

    式子略,可以用数学归纳法来证。

    3.3 容斥原理

    例 3-10

    推导“错排问题”的通项公式。

    (A_i) 为第 (i) 位仍在原位的全排列形成的集合。

    容易发现 (|A_1|=|A_2|=dots=|A_n|=(n-1)!)。同时可得 (|A_1cap A_2|=|A_1cap A_3|=dots=|A_{n-1}cap A_n|=(n-2)!)

    (egin{aligned}|overline{A_1}cap overline{A_2}cap dots cap overline{A_n}|&= n!-n(n-1)!+dbinom{n}{2}(n-2)!-dots+(-1)^n0! \ &= n!-n!+dfrac{n!}{2!}-dfrac{n!}{3!}+dots pm 0! \ &= n!(dfrac{1}{2!}-dfrac{1}{3!}+dots pm dfrac{1}{n!}) end{aligned})

    错排问题还有生成函数解法。

    Written by Alan_Zhao
  • 相关阅读:
    Linux常用命令大全(非常全!!!)
    TCP连接的建立与释放(三次握手与四次挥手)
    TCP/IP Http 和Https socket之间的区别
    redis持久化方法对比分析
    关于HTTP协议,一篇就够了
    远程桌面不能拷贝文件的问题
    URLDecoder: Incomplete trailing escape (%) pattern
    利用pdf2swf将PDF转换成SWF
    Oracle删除当前用户下所有的表的方法
    JS简单验证密码强度
  • 原文地址:https://www.cnblogs.com/alan-zhao-2007/p/comb-math.html
Copyright © 2011-2022 走看看