组合数学笔记-计数原理

Posted 空白菌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组合数学笔记-计数原理相关的知识,希望对你有一定的参考价值。

约定:

本笔记涉及的一切变量,若未特殊指明,则默认为非负整数。

计数原理

基本计数原理

加法原理(分类)

描述 若完成一件事有 \\(n\\) 种方式,第 \\(i\\) 种方式有 \\(a_i\\) 种方法,那么完成这件事共有 \\(\\displaystyle \\sum_i=1^n a_i\\) 种方法。

应用 从武汉到上海有乘火车、飞机、轮船 \\(3\\) 种交通方式可供选择,而火车、飞机、轮船分别有 \\(k_1,k_2,k_3\\) 个班次,那么从武汉到上海共有 \\(k_1+k_2+k_3\\) 种方法可以到达。

乘法原理(分步)

描述 若完成一件事有 \\(n\\) 个步骤,第 \\(i\\) 个步骤有 \\(a_i\\) 种方法,那么完成这件事共有 \\(\\displaystyle \\prod_i=1^n a_i\\) 种方法。

应用 从武汉到上海乘火车要换乘 \\(3\\) 次,\\(3\\) 次换乘分别有 \\(k_1,k_2,k_3\\) 个班次,那么从武汉到上海共有 \\(k_1 \\cdot k_2 \\cdot k_3\\) 种方法可以到达。

减法原理(正难则反)

描述 若方法全集为 \\(U\\) ,则满足性质 \\(A\\) 的方法集合 \\(S_A\\)全集-不满足性质A的方法集合 ,即 \\(U - \\overlineS_A\\) ,共有 \\(|U| - |\\overlineS_A|\\) 种方法。

应用 \\([1,n]\\) 中不能被 \\(2\\) 整除的整数个数为 全部数字-能被2整除的数字 ,即 \\(|[1,n]| - |\\x| 2\\mid x,1 \\leq x \\leq n \\| = n- \\left\\lfloor \\dfracn2 \\right\\rfloor\\)

除法原理(等价划分)

描述 若方法全集为 \\(U\\) ,恰好能被性质 \\(A\\) 划分成 \\(k\\) 个大小相等的等价类 \\(S_i(1\\leq i\\leq n)\\)(每个等价类内的方法对于性质 \\(A\\) 是同一种方法),则满足性质 \\(A\\) 的方法集合 \\(S_A\\)每个等价类任选一个代表元组成的集合 ,共有 \\(k = \\dfrac|U||S_i|\\) 种方法。

应用 \\(n\\) 个数中选 \\(m\\) 个数的组合 \\(C_n^m\\)选数的排列数/每个组合被重复计数的次数 ,共有 \\(\\dfrac\\textP_n^m\\textP_m^m\\) 种。

重要计数原理

抽屉原理(鸽巢原理)

第一抽屉原理\\(n\\) 个物品放入 \\(m\\) 个抽屉,则至少存在一个抽屉有至少 \\(\\left\\lceil \\dfracnm \\right\\rceil\\) 个物品。

第二抽屉原理\\(n\\) 个物品放入 \\(m\\) 个抽屉,则至少存在一个抽屉有至多 \\(\\left\\lfloor \\dfracnm \\right\\rfloor\\) 个物品。

应用 \\([1,2n]\\) 中任选 \\(n+1\\) 个整数,一定存在互质的数。考虑给连续两个数分组 \\((1,2),(3,4),\\cdots,(2n-1,2n)\\) ,根据第一抽屉原理,至少存在一个组两个数都被选了,这两个数一定互质。

容斥原理

描述\\(n\\) 个集合 \\(S_i(1\\leq i \\leq n)\\) ,那么其全集大小 \\(\\displaystyle \\left| \\bigcup_i=1^n S_i\\right|\\) 满足

\\[\\beginaligned \\left| \\bigcup_i=1^n S_i\\right| &= \\sum_1\\leq i_1 \\leq n |S_i_1| - \\sum_1\\leq i_1<i_2 \\leq n |S_i_1 \\cap S_i_2| + \\cdots + (-1)^n-1 |S_1 \\cap S_2 \\cap \\cdots \\cap S_n| \\\\ &= \\sum_k=1^n (-1)^k-1 \\sum_1 \\leq i_1<i_2< \\cdots < i_k \\leq n \\left| \\bigcap_j=1^k S_i_j \\right|\\\\ &= \\sum_T \\subseteq [1,n] (-1)^|T|-1\\left| \\bigcap_i\\in TS_i \\right| \\endaligned \\]

应用 \\([1,n]\\) 中能被 \\(2\\)\\(3\\) 整除的整数个数为 能被2整除的数字+能被3整除的数字-能被6整除的数字 ,即 \\(n- \\left\\lfloor \\dfracn2 \\right\\rfloor - \\left\\lfloor \\dfracn3 \\right\\rfloor + \\left\\lfloor \\dfracn6 \\right\\rfloor\\)

以上是关于组合数学笔记-计数原理的主要内容,如果未能解决你的问题,请参考以下文章

组合数学计数原理

数学(GCD,计数原理)HDU 5656 CA Loves GCD

算法研究:利用Python解决数学计数原理问题

算法研究:利用Python解决数学计数原理问题

数学基础——基本计数方法

bzoj 4517: [Sdoi2016]排列计数容斥原理+组合数学