首页 > 其他分享 >排列组合

排列组合

时间:2023-06-19 15:44:06浏览次数:25  
标签:推论 可重 排列 组合 次方 排列组合

排列组合

目录

前言: 第一次尝试边上课边记录笔记…可能思路会有一点小乱,

排列数

线排列

公式:p(n,m)=!n/!(n-m)

推论1:p(n,m)=n*p(n-1,m-1)

推论2:p(n,m)=m*p(n-1,m-1)+p(n-1,m)一般反着用,用于分类

圆排列:

例子:4571,5714是同一种(转了一圈)

可以证明:一个圆转出来的线排列肯定互不相同

方案数:p(n,m)/m

可重排列(其中一种)

取m次数字(1-n),则方案数为n的m次方

重集全排列:

n个不同的数,每一种有ki个,每种数字之间没有区别,取出所有的数

!(ki的和)/(!ki)的乘积

错位排列:

将n个数排列,第i个数不能填到i上

D(n)=(n-1)* (D(n-1)+D(n-2)),和线排列的推论2有联系(想法上)

组合数

无重组合

C(n,m)=n!/(!(n-m)* m! )

推论1:C(n,m)=C(n,n-m),常用于改柿子,例如C(n,i)改为C(n,n-i)

推论2:C(n,m)=c(n-1,m-1)+c(n-1,m);也是杨辉三角原理,也是帕斯卡公式

推论3:C(n,m)=C(n-1,m-1)+C(n-2,m-2)+..+C(n-m,0)就是对推论2扩展前一项

可重组合

n中选m个(选了可以放回),没有顺序(记录集合个数)

H(n,m)=C(m+n-1,n-1)使用隔板法证明

常用球和盒子来描述:

1.m相同球放入n种不同的盒子,盒子不能为空

2.不超m…………………………………,盒子可以为空

3.不超过m……………………………..,盒子不能为空

不相邻组合

就是说比如我选择了5就不能选4,6

答案:C(n-m+1,m)

假设选出来a[1]-a[m],设b[i]=a[i]-i+1

那么b[i+1]-b[i]=a[i+1]-a[i]-1>0,求合法的b的方案数

b的上限:b[m]=a[m]-m+1<=n-m+1(a[m]最多就是n,而且a[n]单调递增)

二项式定理

(a+b)的k次方=sigma C(k,i)*a的i次方 *b的k-i次方

推论:我可以互换i和k-i;也可以用上面的推论表示C

注意常用a=b=1和a=-1,b=1的情况来化简柿子

恒等式(简化复杂度)

常用:

1.C(n,m)=c(n-1,m-1)*(n/m)

2.(i*C(k,i))求和=k *2的(k-1)次方,应用:k中选i个得i分,所有方案得分的和为左式

3.((i)的-1次方*C(k,i)),选择奇数扣分,偶数得分,k>=2

4.x的i次方求导=i*x的i-1次方

5.f(x)*g(x),一个导 *另外一个不导+一个不导 *另外一个导

左导右不导,右导左不导

6.f(g(x))=f导数*g导数

标签:推论,可重,排列,组合,次方,排列组合
From: https://www.cnblogs.com/linghusama/p/17491308.html

相关文章

  • 基础排列组合学习笔记
    排列组合是数学中一项非常重要、基础的内容,可以解决许多与计数有关的问题。让我们先从最基本的数数学起。前置知识加法原理假设你现在有\(a_0\)个物品,所有物品互不相同。你要从中拿一个物品出来,拿出的物品可能有几种?显然是\(a_0\)种,因为每一个物品互不相同,每一个物品都可......
  • js 实现排列组合
    组合:(不考虑顺序,无重复)//测试用例letdataArr=[1,2,3,4,5];functioncombination(dataArr,remainNum,currentArr){if(remainNum===0){console.log(...currentArr);return;}for(leti=0;i<dataArr.length+1-remainNum;i++){......
  • 排列组合的实现Cmn,Amn
    递归方法:publicclassCombination{/***计算从m个元素中选n个元素的组合数Cmn*@paramm总共有m个元素*@paramn从中选n个元素*@return组合数Cmn的值*/publicstaticintCmn(intm,intn){if(n==0||n==m){......
  • 排列组合的应用
    目录应用应用1:Leetcode.39题目分析代码实现方法一方法二应用2:Leetcode.40题目分析代码实现应用3:Leetcode.216题目分析代码实现方法一方法二应用4:Leetcode.78题目分析代码实现应用5:Leetcode.90题目分析代码实现应用6:Leetcode.77题目分析代码实现应用7:Leetcode.46题目分析代码实现应......
  • 番外篇:分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码)
    今日鸡汤夕阳无限好,只是近黄昏。    大家好,我是Python进阶者。    是不是觉得很诧异?明明上周刚发布了这篇:分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码),今天又来一篇,名曰番外篇!其实今天是想给大家分享【......
  • 分享一道用Python基础+蒙特卡洛算法实现排列组合的题目(附源码)
    今日鸡汤沙场烽火连胡月,海畔云山拥蓟城。    大家好,我是Python进阶者。这篇文章的题目真的是很难取,索性先取这个了,装个13好了。前言    前几天在才哥交流群里,有个叫【RickXiang】的粉丝在Python交流群里问了一道关于排列组合的问题,初步一看觉得很简单,实际上确实是有难度的......
  • python习题-排列组合序列
    【题目描述】用户输入整数n(1<=n<=26)和整数m(m<=n),然后输入n个不同的字母,请编写程序输出在这n个字母中选择m个字母的所有排列序列和组合序列。【源代码程序】importitertools#输入整数n和mn=int(input("请输入整数n(1<=n<=26):"))m=int(input("请输入整数m(m<=n):"))#输入......
  • 4.古典概型(排列组合)
    目录古典概率模型(排列组合)1.条件2.排列组合排列组合:从n个不同的元素,取出m个不同的元素古典概率模型(排列组合)1.条件有限个样本点等可能性(每个样本点发生的概率相同)\(P(A)=\frac{A的有利样本点}{\Omega中样本点总数}=\frac{A中包含的基本事件总数}{基本事件的总数}\)......
  • R语言_排列组合
    组合(combination)choose(n,r)参数:n:元素数量r:组合数返回:来自总共n个元素的r个组合的数量,即nCr值列出所有组合数矩阵:combn(x,n)阶乘:factorial(k)——k!排列(permutation)排列数:choose(n,k)*factorial(k)求排列数的话,可以用gtool......
  • 浅析排列组合、斯特林数、贝尔数、二项式定理与推论及其反演、子集反演、广义容斥
    浅析排列组合、斯特林数、贝尔数、二项式定理与推论及其反演、子集反演、广义容斥目录浅析排列组合、斯特林数、贝尔数、二项式定理与推论及其反演、子集反演、广义容斥更......