zoukankan      html  css  js  c++  java
  • 组合数学学习小记

    有关组合数学的小记,不喜勿喷

    1.第一类斯特林数:表示将$ n$ 个不同元素构成(m)个圆排列的数目。

    递推式:(s(n,m)=s(n-1,m-1)+s(n-1,m)*(n-1))

    递推式证明如下:


    我们考虑第(n)个元素放的位置。

    (1)前(n-1)个元素构成了(m-1)个圆排列,第(n)个元素独自构成一个圆排列:(s(n-1,m-1))

    (2)前(n-1)个元素构成了(m)个圆排列,第(n)个元素插入到任意元素的左边:((n-1)*S(n-1,m))

    综上:(s(n,m)=s(n-1,m-1)+s(n-1,m)*(n-1))


    对于第一类斯特林数我们有以下特点:

    1.(s(n,n-2)=2*C(n,3)+3*C(n,4))

    2.(s(n,n-1)=C(n,2))

    3.(sum_{i=0}^{n}s(n,i)=n!)

    2.第二类斯特林数:表示将(n)个不同的元素拆分成(m)个非空集合的方案数。

    递推式:(S(n,m)=S(n-1,m-1)+m*S(n-1,m))


    同理,我们还是考虑第(n)个元素的放置情况。

    (1)前(n-1)个元素构成了(m-1)个集合,那么第(n)个元素单独构成一个集合:(S(n-1,m-1))

    (2)前(n-1)个元素已经构成了(m)个集合,将第(n)个元素插入到任意一个集合:(m*S(n-1,m))

    综上:(S(n,m)=S(n-1,m-1)+S(n-1,m)*m)


    同时附上一个第二类斯特林数的容斥公式:(S(n,m)=frac{1}{m!}*sum_{i=0}^{m}{(-1)^i*C(m,i)*(m-i)^n})

    第二类斯特林数的实际意义

    (1)n个不同的球,放入m个有区别的盒子,不允许盒子为空,方案数:(m!*S(n,m))

    (2)n个不同的球,放入m个无区别的盒子,允许盒子为空,方案数:(sum_{i=0}^{m}S(n,i))

    PS:一个有趣的事实:(sum_{i=0}^{n}S(n,i)*s(i,m)=sum_{i=0}^{n}s(n,i)*S(i,m))

    3.卡特兰数

    卡特兰数的实际意义和证明方法过多,笔者不再阐述,下面直接给出通项公式和递推公式。

    (Cat_n=C(2*n,n)-C(2*n,n-1)=frac{C(2*n,n)}{n+1}=Cat_{n-1}*frac{4n-2}{n-1})

    常见意义:合法出栈方案数,二叉树方案数......

    4.圆排列:表示从(n)个元素中选(m)个在圆周上构成不同的圆的方案数

    通项公式:(frac{n!}{(n-m)!*m})

    5.错位排列:(n)的相异的元素排成一排,第(i)个元素不在第(i)位上的方案数

    通项公式:(D_n=(n-1)*(D_{n-1}+D_{n-2}))

    证明如下:


    我们假设第(n)个数排在第(k)位上,其中(kin[1,n-1])

    (1).当第(k)个数排在第(n)位时,除了第(n)个数和第(k)个数以外还有(n-2)个数,其方案数为(D_{n-2})

    (2).当第(k)个数不排在第(n)位时,将第(n)位重新想成新的“第(k_1)位”,这时的包括第(k)个数在内的剩下(n-1)个数的每一种错排,方案数为(D_{n-1})

    由于,(kin[1,n-1]),所以(D_n=(n-1)*(D_{n-1}+D_{n-2}))


    附上一个容斥的公式:(D_n=n!*sum_{i=2}^{n}{(-1)^i*frac{1}{i!}})

    6.隔板法

    (1).(n)个同样的小球分成(m)个不同的组别,每组不为空,方案数为:(C(n-1,m-1))

    (2).(n)个同样的小球分成(m)个不同的组别,每组可以为空,方案数为:(C(n+m-1,m-1))

    先写到这了,以后有东西再补。。。。。

  • 相关阅读:
    在循环中禁止remove/add
    [算法竞赛入门]WERTYU
    [算法竞赛入门]Tex Quotes
    [算法竞赛入门]竖式问题
    [算法竞赛入门]蛇形填数
    [C++面试]关于const的使用方法
    [C++面试]单例模式-设计模式
    [C++面试]C++的三种继承(public/protected/private继承)
    用微服务架构,有哪些好处?
    东软数据可视化分析, 已经方便成这样?!
  • 原文地址:https://www.cnblogs.com/dsjkafdsaf/p/11644073.html
Copyright © 2011-2022 走看看