• 自然数幂和[第二类斯特林数求法]


    自然数幂和

    写在前面
    1. 本文中提到的斯特林数和S都指代第二类斯特林数
    2. (S_{k,j})表示把k个有区别的球放入j个无区别的盒子的方案数 [不存在空盒]
    推导

    对于一个(i^k)

    可以具体理解为有 (i) 个不同的盒子,把 (k) 个不同的球放入盒子中的方案数。[允许空盒]

    现在把允许空盒 转化成 求所有盒子都至少放入一个球的方案数

    首先枚举放了至少一个球的盒子个数,设为$ j$

    那么对于存在(k-j)个空盒的方案就为 (S_{k,j}*C_{i,j}*j!)

    对于一个 (i^k) ,可以表示为 $$ sum limits {j=1}^{i} S{k,j}C_{i,j}j! $$

    然后就可以表示出 (sum limits ^{n}_{i=0} i^k) 的方案:$$ sum limits {i=0}^{n}sumlimits {j=1}^{i} S{k,j}*C{i,j}*j! $$

    然后讨论 (S_{k,j})的系数和: (sum limits ^{n}_{i=0} C_{i,j} *j!) ,即 (j!* sumlimits^{n}_{i=0} C_{i,j})

    已知: (sum limits_{i=0}^{n}C_{i,j}=C_{n+1,j+1})

    所以 (S_{j,k})的系数为 (j!*C_{n+1,j+1})

    那么就可以知道 (sum limits ^{n}_{i=0} i^k= sumlimits_{j=1}^{n}S_{k,j}*j!*C_{n+1,j+1})

    然后预处理斯特林数和组合数就可以解决了.

    (By) (Zerokei)

  • 相关阅读:
    Linux
    python 鸢尾花数据集报表展示
    python 词云
    毕业设计回顾
    editor.md
    杂记
    垃圾回收器
    杂记
    随笔
    杂记
  • 原文地址:https://www.cnblogs.com/Zerokei/p/9726879.html
Copyright © 2020-2023  润新知