组合数学基础

隔板法

X 1 + X 2 + . . . + X n = m , X i > = 0 X_1+X_2+...+X_n=m,\quad X_i>=0 X1+X2+...+Xn=m,Xi>=0
求方程解的个数 求方程解的个数 求方程解的个数
m 个球插入 n − 1 个板将 m 个球分成 n 份 m个球插入n-1个板将m个球分成n份 m个球插入n1个板将m个球分成n
方程解的个数 ( m n + m − 1 ) 方程解的个数(^{n+m-1}_{m}) 方程解的个数(mn+m1)


如果要求每份球的个数都大于1该怎么做?
X 1 + X 2 + . . . + X n = m , X i > = 1 X_1+X_2+...+X_n=m,\quad X_i>=1 X1+X2+...+Xn=m,Xi>=1
求方程解的个数 求方程解的个数 求方程解的个数
令 X ′ = X 1 − 1 , X ′ > = 0 , 令 X^{'} = X_1-1,X^{'}>=0, X=X11,X>=0,
X 1 + X 2 + . . . + X n = m − n , X i ′ > = 0 X_1+X_2+...+X_n=m-n,\quad X_i^{'}>=0 X1+X2+...+Xn=mn,Xi>=0
方程解的个数 ( n − 1 m − n + n − 1 ) = ( n − 1 m − 1 ) 方程解的个数(^{m-n+n-1}_{n-1})=(^{m-1}_{n-1}) 方程解的个数(n1mn+n1)=(n1m1)
直观上将,我们可以直接先将每份里面都放一个球,然后再按上面的没有限制条件的做
也可以这样理解 m 个球之间有 m − 1 个空,在这 m − 1 个空里插入 n − 1 个隔板 也可以这样理解m个球之间有m-1个空,在这m-1个空里插入n-1个隔板 也可以这样理解m个球之间有m1个空,在这m1个空里插入n1个隔板
image


相关推荐

  1. Python语言零基础入门——组合数据类型(一)

    2024-02-05 07:42:02       94 阅读
  2. Python语言零基础入门——组合数据类型(二)

    2024-02-05 07:42:02       43 阅读
  3. LeeCode 3130 DP / 组合数学

    2024-02-05 07:42:02       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-05 07:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-05 07:42:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-05 07:42:02       82 阅读
  4. Python语言-面向对象

    2024-02-05 07:42:02       91 阅读

热门阅读

  1. 鸿蒙 状态管理-应用存储

    2024-02-05 07:42:02       40 阅读
  2. Vue中跨域问题的解决

    2024-02-05 07:42:02       48 阅读
  3. Windows SDK(四)鼠标和键盘消息处理

    2024-02-05 07:42:02       39 阅读
  4. selenium之鼠标动作链

    2024-02-05 07:42:02       50 阅读
  5. 使用django构建一个多级评论功能

    2024-02-05 07:42:02       45 阅读
  6. 安装Debian 11 留档

    2024-02-05 07:42:02       62 阅读
  7. React和Vue实现路由懒加载

    2024-02-05 07:42:02       52 阅读