首页 > 其他分享 >数数

数数

时间:2023-12-04 09:16:19浏览次数:37  
标签:数数 组合 dfrac 石子 times 等式 binom

很难很难。

组合数

从 \(n\) 个元素中选出 \(m\) 个的方案数(\(n\) 个元素互不相同且选出的顺序不考虑)。当 \(n < m\) 时,组合数定义为 \(0\)。

最常见的形式:

\[\binom n m \dfrac{n!}{(n-m)!m!} \]

递推式(杨辉三角/笛卡尔三角):

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

理解:第 \(n\) 件物品不选方案数为 \(\binom {n-1}{m}\),第 \(n\) 件物品选的方案数为 \(\binom{n-1}{m-1}\)。加法原理合并两种情况得到 \(\binom n m\)。

暴力计算的形式:

\[\binom n m = \dfrac{n\times (n - 1)\times\dots \times (n-m+1)}{m\times (m-1)\times \dots \times 1} \]

此时不需要进行其他预处理,枚举 \(m\) 个数计算即可。

通过暴力计算形式还可以得到:

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

在计数题中十分常见,但容易遗忘。

范德蒙德卷积公式:

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

组合意义理解:两堆石子,第一堆 \(n\) 个,第二堆 \(m\) 个,从两堆中总共选取 \(k\) 个(等式左边的组合意义)。等式右边则枚举从第一堆选取的石子的个数,确定第二堆选取的石子个数,以此求出方案总数。两边的组合意义相同,因此等式成立。

不知道叫什么名字的等式:

\[\binom n m = \sum\limits_{i=m}^{n}\binom {i-1}{m-1} \]

组合意义理解:\(n\) 个石子,将它分为 \(m\) 组,石子可以不用于分组的方案数(石子相同)。等式右边枚举选取的石子数计算;等式左边新添加一组给不使用的石子放入。

标签:数数,组合,dfrac,石子,times,等式,binom
From: https://www.cnblogs.com/sprads/p/17874179.html

相关文章

  • 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整
    示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]用数组的indexOf()方法来查找值vartowSum=function(nums,target){for(leti=0,len=nums.length;i<len;i++){if(nums.indexOf(target-nums[i])>-1......
  • 2023-11-22:用go语言,给你一个长度为 n 下标从 0 开始的整数数组 nums。 它包含 1 到 n
    2023-11-22:用go语言,给你一个长度为n下标从0开始的整数数组nums。它包含1到n的所有数字,请你返回上升四元组的数目。如果一个四元组(i,j,k,l)满足以下条件,我们称它是上升的:0<=i<j<k<l<n且nums[i]<nums[k]<nums[j]<nums[l]。输入:nums=[1,3,2,......
  • 20231108数数与dp题笔记
    数数与dpCF294CShaassandLights记被分成的\(m+1\)段每一段的长度为\(l_i\)答案为\[\frac{(n-m)!}{\prod\limits_{i=1}^{m+1}l_i!}\times\prod\limits_{i=1}^{m+1}2^{l_i-1}\]前面是不同段之间的顺序打乱,后面是每一段中前\(l_i-1\)个操作各有\(2\)个选择CF1753CW......
  • 洛谷3281数数
    这一道题给我们最大的启示就是一定要学会固定数字!设\(Pow[i]=B^i\),\(f[i]=\sum_{k=0}^{i}{B^k}\)\(h[i]\)表示所有\(i\)位数字的所有前缀子串的和比如\(123456\)一共有\(6\)位,他的所有前缀子串为\(1,12,123,1234,12345,123456\),他的所有前缀子串和就是这六个数加起来,那么\(h[6......
  • 如何用CAN-EYE获取植被参数数据?
      本文介绍植被冠层参数计算软件CAN-EYE的具体使用方法。  在文章下载、安装CAN-EYE植被参数工具中,我们介绍了CAN-EYE软件的下载、安装方法;本文就对该软件的具体使用方法进行介绍。  CAN-EYE软件计算LAI、FVC等各类植被参数,都需要基于相机所拍摄的真彩色或黑白植被图片。......
  • 2023-10-04:用go语言,现有一棵无向、无根的树,树中有 n 个节点,按从 0 到 n - 1 编号 给你
    2023-10-04:用go语言,现有一棵无向、无根的树,树中有n个节点,按从0到n-1编号给你一个整数n和一个长度为n-1的二维整数数组edges,其中edges[i]=[ai,bi]表示树中节点ai和bi之间存在一条边。每个节点都关联一个价格。给你一个整数数组price,其中price[i]是第i......
  • 2023-09-30:用go语言,给你一个整数数组 nums 和一个整数 k 。 nums 仅包含 0 和 1, 每一
    2023-09-30:用go语言,给你一个整数数组nums和一个整数k。nums仅包含0和1,每一次移动,你可以选择相邻两个数字并将它们交换。请你返回使nums中包含k个连续1的最少交换次数。输入:nums=[1,0,0,1,0,1],k=2。输出:1。答案2023-09-30:步骤描述:1.定义一个函数minMoves......
  • Python生成随机整数数组的实用方法
    在编程中,生成随机整数数组是一项非常常见的任务。本文将介绍如何使用Python语言来生成随机整数数组,帮助读者掌握这一有用的编程技巧。通过实际的代码示例,我们将逐步指导读者完成生成随机整数数组的过程,并提供一些实际应用的建议。第一部分:了解随机数生成原理1.什么是随机数:-随机数......
  • Numpy 创建随机数数组 随机数组
     创建随机数数组NumPy提供了强大的生成随机数的功能。真正的随机数很难获得,实际中使用的都是伪随机数。大部分情况下,伪随机数就能满足需求。当然,某些特殊情况除外,如进行高精度的模拟实验。对于NumPy,与随机数相关的函数都在random模块中,其中包括了可以生成服从多种概率分布随机数......
  • 2023-10-04:用go语言,现有一棵无向、无根的树,树中有 n 个节点,按从 0 到 n - 1 编号 给你
    2023-10-04:用go语言,现有一棵无向、无根的树,树中有n个节点,按从0到n-1编号给你一个整数n和一个长度为n-1的二维整数数组edges,其中edges[i]=[ai,bi]表示树中节点ai和bi之间存在一条边。每个节点都关联一个价格。给你一个整数数组price,其中price[i]是第i......