• 第一类斯特林数


    两类斯特林数的其中之一 还是要了解一下的。

    一般形如(left[egin{matrix}n\mend{matrix} ight])写作(s(n,k))

    组合意义:(s(n,k))表示把n个数分成k组 每组是一个环 求分成的方案数。

    环的意思其实是类似于圆排列的东西。

    递推式:(s(n+1,k)=s(n,k-1)+s(n,k)cdot n)

    有边界 (s(0,0)=1).

    性质:(s(n,1)=(n-1)!) 这个看起来挺显然不正了 当然可以相当于圆排列来理解。

    (s(n,2)=(n-1)! imessum_{i=1}^{n-1}frac{1}{i})这个利用数学归纳法也很好证。

    (sumlimits_{i=0}^ns(n,k)=n!)证明:求n个数的所有排列方案数n! 对于某种排列其中必然有k个置换 而置换就是我们上述所说的环的概念。

    对于有k个置换的方案数 其为s(n,k)所以可以得到(sumlimits_{i=1}^ns(n,k)=n!)因为s(n,0)=0所以原式成立。

    这里先规定一下上升幂和下降幂。

    定义下降幂为(x^{underline{n}} = x(x-1)cdots (x-n+1).)

    上升幂为(x^{overline{n}} = x(x+1)cdots (x+n-1).)

    有等式 (sum_{i=0}^ns(n,i)x^i=x^{overline{n}})

    上面那个还不够重要 再来一个(x^{underline{n}}=sum_{i=0}^{n}left[egin{matrix}n\iend{matrix} ight](-1)^{n-i} x^i)

    证明 这个式子可以利用数学归纳法 上面那个也同理。

    update 7.25:当年写的过于稚嫩。

    其实关于 下降幂和第一类斯特林数的关系 可以利用 自然幂和第二类斯特林数的关系 进行斯特林反演得到。

    不过这里直接列出等式进行数学归纳法证明了。详细步骤如下:

    (x^{underline{n+1}})

    (=x^{underline{n}} imes (x-n))

    (=(x-n)sumlimits_{i=0}^{n}(-1)^{n-i}s(n,i)x^i)

    (=sumlimits_{i=1}^{n+1}(-1)^{n+1-i}s(n,i-1)x^i+sumlimits_{i=0}^{n}(-1)^{n+1-i}ncdot s(n,i)x^i)

    左边是枚举从1开始 然后进行变换。右边是乘以了(-n)进行变换。

    因为 s(n,-1)=0,所以左式再做一个变换:

    (sumlimits_{i=1}^{n+1}(-1)^{n+1-i}s(n,i-1)x^i=sumlimits_{i=0}^{n+1}(-1)^{n+1-i}s(n,i-1)x^i)

    左式把第n+1项给提出来 和右边进行合并。即:

    (=(-1)^0s(n,n)x^{n+1}+sumlimits_{i=0}^{n}(-1)^{n+1-i}(s(n,i-1)+ns(n,i))x^i)

    接下来做的变换是 由于(s(n,i-1)+ns(n,i)=s(n+1,i),s(n,n)=s(n+1,n+1))

    (=s(n+1,n+1)x^{n+1}+sumlimits_{i=0}^{n}(-1)^{n+1-i}s(n+1,i)x^i)

    (=sumlimits_{i=0}^{n+1}(-1)^{n+1-i}s(n+1,i)x^i)

    证毕.

    注意 这里讨论的是无符号第一类斯特林数 (有符号了一般很少使用

    这个证明也比较简单 可以发现斯特林数和下降幂有关 也就是说我们求出下降幂的生成函数 其对应的系数的绝对值就是某一行的斯特林数。

    很简便吧 我们可以更快的求斯特林数了。

    可以考虑分治FFT 这样的话长度是递增的 每次合并两个多项式可以发现log层 每层FFT nlogn 总复杂度nlog^2

    为了避免-1系数的一些问题 可以利用上升幂来求斯特林数 上面的公式也有提到 证明就不证了 数归即可。

    (f(x)=x^{overline{n}},g(x)=(x+n)^{overline{n}}) 则有(f(x)g(x)=x^{overline{2n}})

    (f(x)=sum_{i=0}^{n}a_ix^i,则g(x)=sum_{i=0}^na_i(x+n)^i=sum_{i=0}^n(sum_{j=i}^nC(j,i)n^{j-i}a_j)x^i)

    倍增+NTT 可以做到nlogn.

  • 相关阅读:
    I Hate It
    满减优惠[Offer收割]编程练习赛4
    积水的城市 hiho[Offer收割]编程练习赛4
    Subsequence 尺取法
    526. 优美的排列
    401. 二进制手表
    306. 累加数
    216. 组合总和 III
    131. 分割回文串
    ubuntu deepin-软件 分辨率的问题
  • 原文地址:https://www.cnblogs.com/chdy/p/12546979.html
Copyright © 2020-2023  润新知