zoukankan      html  css  js  c++  java
  • 『笔记』组合数学(六)

    [Huge{(六)组合数学初步} ]

    简介

    组合数学(Combinatorial mathematics),又称为离散数学

    广义的组合数学就是离散数学,狭义的组合数学是离散数学除图论、代数结构、数理逻辑等的部分。

    总之,组合数学是一门研究离散对象的数学科学。

    排列组合

    排列就是指从给定个数的元素中取出指定个数的元素进行排序;组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。

    加法 & 乘法原理

    加法原理

    对于一件一定可以完成的事情,完成它有 (n) 类方式,第一类方式有 (M_1) 种方法,第二类方式有 (M_2) 种方法,(cdots) ,第 (n) 类方式有 (M_n) 种方法,那么完成这件事情共有 (M_1 + M_2 + cdots + M_n) 种方法。

    例如说,你要去 AK IOI 啦! 某场比赛分为若干类分赛, AK 总赛的条件是 AK 任意一类分赛,而每类分赛都有许多种 AK 的方法,则你能够 AK IOI 的方法数量就是 AK 各类分赛的方法数量之和。

    加法原理又可以写作

    [S = sum_{i=1}^{n} a_i ]

    其中 (S) 表示完成这项工作总的方案数, (a_i) 表示每种方案的数量。

    乘法原理

    对于一件一定可以完成的事情,完成它共需 (n) 步,第一步共有 (M_1) 种方法,第二步共有 (M_2) 种方法, (cdots) ,第 (n) 步共有 (M_n) 种方法,那么完成这件事共有 (M_1 imes M_2 imes cdots imes M_n) 种方法。

    又例如说,你还要去 AK IOI 又有某场比赛分为若干类分赛, 而这次 AK 总赛的条件是 AK 所有分赛,而每类分赛都有若干种 AK 的方法,则你能够 AK IOI 的方法数量就是 AK 每类分赛的数量之积。

    乘法原理又可以写作

    [S = prod_{i=1}^{n} a_i ]

    其中 (S) 表示完成这项工作总的方案数, (a_i) 表示每种方案的数量。

    排列数

    (n) 个不同元素中,任取 (m ( m leq n, m)(n) 均为自然数 ()) 个元素按照一定的顺序排成一列,叫做从 (n) 个不同元素中取出 (m) 个元素的一个排列;从 (n) 个不同元素中取出 (m(m leq n)) 个 元素的所有排列的个数,叫做从 (n) 个不同元素中取出 (m) 个元素的排列数,记作 (A_{n}^{m})(或者是 (P _{n}^{m}))。

    排列和组合是基于加法原理乘法原理得出。

    排列的计算公式为

    [A_{n}^{m}=n(n-1)(n-2) cdots (n-m+1) = cfrac{n !}{(n-m) !} ]

    其中

    (A) 排列数
    (n) 元素的总数
    (m) 选择的元素数
    (n!) (n) 的阶乘

    注:

    1. 上式中当 (n=m) 时所有的排列情况叫做 全排列

    2. 排列与元素的顺序有关,组合与顺序无关。

    组合数

    (n) 个不同元素中,任取 (m(m leq n)) 个元素组成一个集合,叫做从 (n) 个不同元素中取出 (m) 个元素的一个组合; 从 (n) 个不同元素中取出 (m(m leq n)) 个元素的所有组合的个数,叫做从 (n) 个不同元素中取出 (m) 个元素的组合数,记作 (C _{n}^{m})(left(egin{array}{l}n \ mend{array} ight)) (目前数学界普遍采用后者的原因知识由于它表意更清晰,更美观便捷。

    组合的计算公式为

    [C _{n}^{m} = left(egin{array}{l}n \ mend{array} ight) =cfrac{ A _{n}^{m}}{m !}=cfrac{n !}{m !(n-m) !} ]

    其中

    (C) 组合数
    (n) 元素的总数
    (m) 选择的元素数
    (n!,m!) (n,m) 的阶乘

    二项式定理

    组合数也被称为 二项式系数 ,是定义为形如 ((1 + x)^n) 展开后 (x) 的系数(其中 (n) 为自然数,(k) 为整数)。

    展开式

    [(a+b)^{n}=sum_{i=0}^{n}left(egin{array}{l} n \ i end{array} ight) a^{n-i} b^{i} ]

    由归纳法得

    [left(egin{array}{l} n \ k end{array} ight)+left(egin{array}{c} n \ k-1 end{array} ight)=left(egin{array}{c} n+1 \ k end{array} ight) ]

    由此拓展开得

    [{sum_{i=1}^{t} x_{i}}^{n}=sum_{满足 sum_{i=1}^{n}n_{i}=n 的非负整数解 } left(egin{array}{c} n \ prod_{i=1}^{t} n_i end{array} ight) prod_{i=1}^{t} x_{i}^{n_i} ]

    其中的

    (n) 正整数
    (x_i) 实数
    (left(egin{array}{c}n \ n_{1}, n_{2}, cdots, n_{t}end{array} ight)) 多项式系数

    性质则有

    [sumleft(egin{array}{c} n \ prod_{i=1}^{t} n_{i} end{array} ight)=t^{n} ]

    未完待续~

  • 相关阅读:
    记处理PostgreSQL连接太多的问题
    记服务器迁移上云出现故障
    PostgreSQL-迁移同步序列
    为什么你的pgbouncer连接这么慢
    TS基础知识储备
    前端实在好用的工具类库 【后续持续添加若有请留言添加积累供大家使用】
    Vue 3 + Typescript + Vite2.0 搭建移动端 代码规范以及注意的点
    flutter2.0 环境搭建(window环境下Mac自行查看官网即可)
    vite2.0+vue3+ts前端最新热门技术项目搭建
    React官方状态管理库—— Recoil
  • 原文地址:https://www.cnblogs.com/Frather/p/14715968.html
Copyright © 2011-2022 走看看