算法基础数学知识篇(1)之----- 排列数组

前言

排列组合在算法求解中尤为重要,特别是对于方案数的求解,以及我们知道本质之后可以对其进行深入的挖掘。如 x + y = 4 x + y = 4 x+y=4,求解的数量,如果数据小,我们可以枚举,但是如果数据量大我们什么办呢?首先我们需要对这个问题进行抽象,把 x ,y 看成两个盒子,4看成有4个小球,那么这题就转换为了,将4个相同的球分配到2个盒子(允许有空盒)的方案数,那么就是 C ( 4 + 2 − 1 , 1 ) = 5 C(4 + 2 - 1,1) = 5 C(4+21,1)=5

一、隔板法

相同元素的分配问题
1、条件和直接用法
在这里插入图片描述

转变为在n-1个空隙中,放入k-1个板子的排列组合问题(k是盒子数量)

2、变式一,放入的个数不是1的时候而是m的时候什么办

我们以2个先来讲,因为隔板法都是1个,那么我们就可以先将m个球放入m个盒子里,这样剩余的球就又变成了隔板问题。相当于分解子问题,那么分出的m个球我们也利用隔板法 ,不过在这个例子是1,所以间隔数与隔板数一样因此就是1,剩余就是(n-m)个进行隔板法。

那如果是每一个盒子至少放k个了,在这里我们可以发现我们先放的数量就是和盒子要求的至少少一个是一样的,因此我们这一部分的发的方法都是1.
在这里插入图片描述

3、变式二,小球个数不是1,但是不都是一样的,如下
在这里插入图片描述

我们的做法如图还是先放一部分,让剩余的满足条件,那么这里就说一说,先放的为什么方法是1,我们可以都先放的再进行一次分割子问题,变成不小于编号-1的球,然后再将这几个球按照同样的方式先放一部分,最后我们发现,这样一直分,没一个部分的分的方法都是1按照乘法原理最后就是1了。

4、有空盒的情况
我们是借与盒子数量相同的球,然后再进行隔板法
在这里插入图片描述

二、分组分配法

1、分组
在这里插入图片描述

2、分组加分配
前一步是分组问题,后一步是分配问题,因此我们在解决的时候,先分组*分配
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落春只在无意间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值