首页 > 其他分享 >组合数小记

组合数小记

时间:2024-09-08 20:27:00浏览次数:8  
标签:组合 区分 括号 choose Bmatrix binom 小记 愉悦

前言

计数的基本原理

考虑一个集合:\(S\),求 \(|S|\)。

  1. 加法原理:\(S=S_1\cup S_2,|S|=|S_1|+|S_2|\)。

  2. 乘法原理:\(|{(a,b)|a\in S_1,b \in S_2}|=|s_1||s_2|\)

更浅显的说当两件事情无关时为加法,当前一件的结果影响后面时用乘法。

组合数基本公式及衍生公式

排列与组合

  1. 排列数:\(A_n^m= \dfrac{n!}{(n-m)!}\)。

相当与第一个可以选 \(n\) 个,第二个可以选 \(n-1\) 个,依次类推。

  1. 组合数:\(C_n^m=\binom{n}{m}=\dfrac{n!}{(n-m)!\times n!}\)。

在排列数中减去重复的 \(n!\) 项。

重要公式

  1. 递推式(杨辉三角)

\[\binom{n}{m}=\binom{n-1}{m-1}+\binom{n-1}{m} \]

感性愉悦:选不选最后一个。

理性愉悦:把式子拆开暴力计算。

  1. 二项式定理

\[(a+b)^n=\sum_{i=0}^n \binom{n}{i}a^ib^{n-i} \]

感性愉悦:拆开相当于每个括号选 \(a\) 或选 \(b\)。

理性愉悦:数学归纳法。

  • 组合式第 \(i\) 行的和:\(2^i\)。

用 \((1+1)^i\) 计算可证。

  • 偶数项减奇数项:\([n=0]\)

用 \((1-1)^n\) 计算可证。

  1. 对称恒等式:

\[\binom{n}{m}= \binom{n}{n-m} \]

太显然就不证了。

  1. 链式恒等式(我们学长取的,没有专门的名字)

\[\binom{n}{m}\binom{m}{k}=\binom{n}{k}\binom{n-k}{m-k} \]

感性愉悦:等于先在 \(n\) 个中选 \(k\) 个,再选中间的 \(k\) 个。

理性愉悦:拆式子计算。

此等式很好证明但推式子时可能想不起。

  1. 吸收恒等式

\[\binom{n}{m}=\dfrac{n}{m}\binom{n-1}{m-1} \]

感性愉悦:先选一个出来,然后再剩下的中选出 \(m-1\) 个,这样每个方案会被算 \(m\) 次,所以再除以 \(m\)。

理性愉悦:拆式子计算。

  1. 范德蒙德卷积式

\[\sum_{i=0}^{k}\binom{n}{i}\binom{m}{k-i}=\binom{n+m}{k} \]

感性愉悦:有两堆东西,总共选 \(k\) 个出来,等价于先枚举每堆选多少个,再在内部选。

理性愉悦:用二项式定理拆:\((x+1)^n(x+1)^m\)

十二重计数法

\(n\) 个有(无)标号的球放入 \(m\) 个有(无)标号的盒子,盒子无限制(至多一个球 / 至少一个球)的情况数:

盒子 无限制 至少一个 至多一个
可区分 可区分 \(m^n\) \(m! \begin{Bmatrix} n \\\\ m \end{Bmatrix}\) \(A_m^n\)
可区分 不可区分 \(\sum_{i = 0}^m{\begin{Bmatrix} n \\\\ i \end{Bmatrix}}\) \(\begin{Bmatrix} n \\\\ m \end{Bmatrix}\) \([n \le m]\)
不可区分 可区分 \({n + m - 1 \choose m - 1}\) \({n - 1 \choose m - 1}\) \({m \choose n}\)
不可区分 不可区分 \(\sum_{i = 0}^m{p(n, i)}\) \(p(n, m)\) \([n \le m]\)

卢卡斯定理

\[\binom{n}{m} \bmod p=\binom{\lfloor n / p\rfloor}{\lfloor m / p\rfloor}\binom{ n \bmod p}{m \bmod p} \bmod p \]

主要应用为处理大范围模中等模数。

卡特兰数

\[\text{Cat}_n = {2n \choose n} - {2n \choose n + 1} = \frac{2n \choose n}{n + 1} \]

求解从 \(n\times n\) 棋盘的一端走向另一端不超过对角线的方案数。

证明经典迷宫翻折法证明。

应用

  1. 个n行n列的棋盘,从左下角走到右上角,一直在对角线右下方走,不穿过主对角线,走法种数。

  2. 用 \(n\) 个左括号和 \(n\) 个右括号组成一串字符串,有多少种合法的组合?

例如,"()()(())”是合法的,而“())(()”是非法的。
显然,合法的括号组合是任意前 \(k\) 个括号组合,左括号的数量大于或等于右括号的数量。
定义左括号为 \(0\),右括号为 \(1\)。问题转换为 \(n\) 个 \(0\) 和 \(n\) 个 \(1\) 组成的序列,任意前 \(k\) 个序列中,\(0\) 的数量都大于或等于 \(1\) 的数量。模型和上面的棋盘问题一样。

  1. \(n\) 个节点构成的完全二叉树种类。

标签:组合,区分,括号,choose,Bmatrix,binom,小记,愉悦
From: https://www.cnblogs.com/hutongzhou/p/18401322

相关文章

  • VMD-CNN-BiLSTM(变分模态分解-卷积神经网络-双向长短记忆网络)组合预测模型
      VMD-CNN-BiLSTM是一种结合了变分模态分解(VariationalModeDecomposition,VMD)、卷积神经网络(ConvolutionalNeuralNetwork,CNN)和双向长短记忆网络(BidirectionalLongShort-TermMemory,BiLSTM)的复合模型。该模型主要用于处理和分析时间序列数据,特别是在预测和分析复......
  • Vue 3中的组合式API:基本概念及实践
    Vue3中的组合式API:基本概念及实践Vue.js是一个广受欢迎的前端框架,凭借其简单易用的特点,使得开发者能够快速构建高效的用户界面。随着Vue3的发布,组合式API(CompositionAPI)作为一大亮点,提供了更灵活的逻辑复用方式。本文将深入探讨Vue3中的组合式API的基本概念,并通过实践......
  • LeetCodeTest算法测试 传递一个数组和一个特定的目标整型数字,返回的两个数组元素相加
    1importjava.util.ArrayList;2importjava.util.List;34publicclassLeetCodeTest{5publicstaticvoidmain(String[]args){67int[]intArr=newint[]{2,7,11,15};8List<CustomerIntIndex>customerIntIndexL......
  • 读软件设计的要素03概念的组合
    1. 概念的组合1.1. 概念不像程序那样,可以用较大的包含较小的1.1.1. 每个概念对用户来说都是平等的,软件或系统就是一组串联运行的概念组合1.2. 概念是通过操作来同步组合的1.2.1. 同步并不增加新的概念操作,但会限制已有的操作,从而消除一些独立概念可能会出现的操作序......
  • 17_电话号码的字母组合
    17_电话号码的字母组合【问题描述】给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例一:输入:digits="23"输出:["ad","ae","af","bd","be","bf","cd","ce"......
  • 如果没有热风枪,如何组合热缩管的5种简单方法
    转载自:https://mil.sohu.com/a/779354413_120429259 当谈到收缩热缩管时,没有什么比热风枪更好的了。但如果你没有,你该怎么办?请放心,您仍然可以在没有热风枪的情况下使用热缩管。它可以响应多种热源,因此您可以使用许多替代工具。在本文中,我列出了一些最流行的热收缩替代方法。......
  • 排列组合(一)
    目录排列组合示例题目题目答案与解析开学后的第一篇博文,太不容易了。。。。。今后我会做更多关于我要打的比赛要考的一些知识,也方便自己回顾。最后有很多例题给大家练练手哦。前言排列组合是CCF(中国计算机学会(ChinaComputerFederation),大家可以去看看它的官网:http......
  • grep sed awk cut组合使用
    以下是20个grep、sed、awk和cut的组合使用示例,以及每个命令执行过程的解释:1.使用grep查找并cut提取字段grep"error"logfile.txt|cut-d''-f2解释:查找logfile.txt中包含"error"的行,并提取每行以空格为分隔符的第二个字段。2.使用grep和sed替换文本gr......
  • 策略模式的小记
    策略模式策略模式支付系统【场景再现】硬编码完成不同的支付策略使用策略模式,对比不同(1)支付策略接口(2)具体的支付策略类(3)上下文(4)客户端(5)小结策略模式定义:策略模式是一种行为设计模式,在运行时改变对象的行为。目的:定义一系列算法,把它们一个个封装起来,并且使它们可相......
  • 综合评价 | 基于熵权-变异系数-博弈组合法的综合评价模型(Matlab)
    目录效果一览基本介绍程序设计参考资料效果一览基本介绍根据信息熵的定义,对于某项指标,可以用熵值来判断某个指标的离散程度,其信息熵值越小,指标的离散程度越大,该指标对综合评价的影响(即权重)就越大,如果某项指标的值全部相等,则该指标在综合评价中不起作用。因此,......