特殊数学习笔记

感觉有很多高大上的数,自己都不会,还是学一下吧。

1 第一类斯特林数

1.1 意义#

n 个元素组成 m 个环的方案数,元素不同,环不能为空。

1.2 记号#

[nm]

1.3 计算方法#

[nm]=(n1)[n1m]+[n1m1]

组合意义:

  1. 新的数可以放在之前长度为 x 的环里,有 x 种放法,由于所有环环长和为 n1 所以有 n1 种不增加环的方法。
  2. 新的数可以新开一个环。

1.4 性质#

1.4.1#

i=1n[ni]=n!

定义 nextii 顺时针的第一个珠子,显然 next 是一个排列。

不难发现左边的式子不重不漏地覆盖了所有 next 的排列。

1.4.2#

xn¯=i=1n[ni]xi

上面那个东西的加强版,可以使用数学归纳法简单证明。

1.4.3#

xn_=i=1n[ni](1)nixi

由于 xn_=(1)(x)n¯ 所以很好证明。

1.4.4#

i=k[ik]xii!=1k!(ln(1x))k

S1(x,y)=i=0j=0[ij]xiyji!=(1x)y

我们用组合意义解决顶上的东西。

n 个数放 1 个环的 EGFln(1x)

n 个数放 k 个环,环有序的 EGF(ln(1x))k

然后因为环无序,直接除以 k! 就可以了。

2 第二类斯特林数

2.1 意义#

n 个元素组成 m 组的方案数,元素不同,组相同。

2.2 记号#

{nm}

2.3 计算方法#

{nm}=m{n1m}+{n1m1}

组合意义和上面的差不多。

2.4 性质#

2.4.1#

mn=i=1m{ni}Ami

2.4.2#

mn=i=1m{ni}i!(mi)

F(x)=xn,G(x)={nx}x!

F(m)i=0mG(i)(mi)G(m)=i=0m(1)miF(i)(mi)

{nm}m!=i=0m(1)miin(mi)

2.4.3#

i=k{ik}xii!=1k!(ex1)k

S2(x,y)=i=0j=0{ij}xiyji!=exp(y(ex1))

我们还是用组合意义解决顶上的东西。

n 个数放 1 个盒子的 EGFex1

n 个数放 k 个盒子,盒子有序的 EGF(ex1)k

然后因为盒子无序,直接除以 k! 就可以了。

3 四个斯特林数板子

3.1 第二类斯特林数·行#

最简单的板子,我们直接上式子卷积即可。

{nm}=i=0min1i!(1)mi1(mi)!

3.2 第一类斯特林数·行#

xn¯=i=1n[ni]xi

于是我们要求 xn¯

考虑倍增。显然从 xn¯xn+1¯ 很水,直接乘一个 (x+n) 就行。

所以我们考虑怎么从 xn¯x2n¯

x2n¯=xn¯(x+n)n¯

xn¯=i=0nfixi

(x+n)n¯=i=0nfi(x+n)i

=i=0nfij=0i(ij)xjnij

=i=0nxij=inj!i!(ji)!njifj

=i=0nxii!j=inj!fjnji1(ji)!

然后就可以卷了。

3.3 第二类斯特林数·列#

3.3.1 Solution 1#

我们推 OGF 可以得到

Fk(x)=i=k{ik}xi=i=k(k{i1k}+{i1k1})xi

Fk(x)=x(kFk(x)+Fk1(x))

Fk(x)=x1xkFk1(x)

F0(x)=1

Fk(x)=xk(1ix)

OGF 分治计算时间复杂度 O(nlog2n)

3.3.2 Solution 2#

见 2.4.3。

EGF 快速幂计算时间复杂度 O(nlogn)

  • 提示:贺幂函数板子请使用加强版。

3.4 第一类斯特林数·列#

见 1.4.4。

  • 提示:贺幂函数板子请使用加强版。
posted @   dXqwq  阅读(370)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示
主题色彩