"Summary" inclusion and exclusion. II. 5. Principle Inversion divided inclusion and exclusion

Reference is $ blogs $ this

There are specific mathematics.

Sterling is inversed.

First, it is necessary that the number of types of Stirling.

In the definition of a very important distinction is arranged in the first category is divided, and the second category is divided composition.

More important is the nature of the first type is typically converted to power down the power, the second type and vice versa.

 f(n)=k=0n{nk}g(k)g(n)=k=0n(1)nk[nk]f(k)

$ Fr. $ Stirling number of the first kind.

$$\left[\begin{array}{c}n\\k\end{array}\right]$$

$ $ Elements divided into n-$ k $ sets, the number of programs arranged in a circle within each set.

By definition, the enumeration of $ $ n-th element is set in a new, right or in a previous set of an element can be obtained recursive formula:

$$\left[\begin{array}{c}n\\k\end{array}\right]=\left[\begin{array}{c}n-1\\k-1\end{array}\right]+(n-1)\left[\begin{array}{c}n-1\\k\end{array}\right]$$

 

Property 1:

He said first category is divided into several Stirling arrangement.

$$\sum\limits_{i=0}^{n}\left[\begin{array}{c}n\\i\end{array}\right]=n!$$

Proof: Define a unique arrangement of rotation, a uniquely defined rotation alignment.

 

More important is the nature of the first type is typically converted to power down the power, the second type and vice versa.

Property 2:

$$x^{\underline{n}}=\sum\limits_{i=0}^{n}(-1)^{n-i}\left[\begin{array}{c}n\\i\end{array}\right]x^i$$

Inductive proof:

$$\begin{array}{rcl} \\ x^{\underline{n+1}}&=&(x-n)x^{\underline{n}}\\&=&x\sum\limits_{i=0}^{n}\begin{bmatrix}n\\i \end{bmatrix}(-1)^{n-i}x^{i}-n\sum\limits_{i=0}^{n}\begin{bmatrix}n\\i \end{bmatrix}(-1)^{n-i}x^{i}\\&=&\sum\limits_{i=0}^{n}\begin{bmatrix}n\\i \end{bmatrix}(-1)^{n-i}x^{i+1}+n\sum\limits_{i=1}^{n+1}\begin{bmatrix}n\\i \end{bmatrix}(-1)^{n-i+1}x^{i}\\&=&\sum\limits_{i=1}^{n+1}\begin{bmatrix}n\\i-1 \end{bmatrix}(-1)^{n-i+1}x^{i}+n\sum\limits_{i=1}^{n+1}\begin{bmatrix}n\\i \end{bmatrix}(-1)^{n-i+1}x^{i}\\&=&\sum\limits_{i=1}^{n+1}\left(\begin{bmatrix}n\\i-1 \end{bmatrix}+n\begin{bmatrix}n\\i \end{bmatrix}\right)(-1)^{n-i+1}x^i\\&=&\sum\limits_{i=1}^{n+1}\begin{bmatrix}n+1\\i \end{bmatrix}(-1)^{n+1-i}x^i\\&=&x^{\underline{n+1}}\\ \end{array}$$

 

Property 3:

$$x^{\overline{n}}=\sum\limits_{i=0}^{n}\begin{bmatrix}n\\i\end{bmatrix}x^i$$

归纳证明:
$$\begin{array}{rcl}\\x^{\overline{n+1}}&=&(x+n)x^{\overline{n}}\\&=&(x+n)\sum\limits_{i=0}^{n}\begin{bmatrix}n\\i\end{bmatrix}x^i\\&=&\sum\limits_{i=1}^{n+1}\begin{bmatrix}n\\i-1 \end{bmatrix}x^i+n\sum\limits_{i=1}^{n+1}\begin{bmatrix}n\\i\end{bmatrix}x^i\\&=&\sum\limits_{i=1}^{n+1}\left(\begin{bmatrix}n\\i-1\end{bmatrix}+n\begin{bmatrix}n\\i\end{bmatrix}\right)x^i\\&=&\sum\limits_{i=1}^{n+1}\begin{bmatrix}n+1\\i\end{bmatrix}x^i\\&=&x^{\overline{n+1}}\\ \end{array}$$

 

求第一类斯特林数:

利用性质3:

设母函数$f(x)^n=x^{\underline{n}}=\sum\limits_{i=0}^{n}a_ix^i$

那么求出的$a_i$其实就是一行的第一类斯特林数,考虑倍增$FFT$

$$f(x)^{2n}=f(x)^f(x+n)^n$$

当我们得到$f(x)^n$的时候考虑如何求出$f(x+n)^n

$$\begin{array}{rcl}f(x+n)^n&=&\sum\limits_{i=0}^{n}a_i(x+n)^i\\&=&\sum\limits_{i=0}^{n}a_i\sum\limits_{j=0}^{i}\binom{i}{j}x^j n^{i-j}\\&=&\sum\limits_{i=0}^{n}x^i\sum\limits_{j=i}{n}\binom{j}{i}a_jn^{j-i}\\&=&\sum\limits_{i=0}^{n}x^i i!\sum\limits_{j=i}{n}\frac{j!}{(j-i)!}n^{j-i}a_j\end{array}$$

后面是个卷积,直接$NTT$就完事。

倍增求解复杂度仍然为$O(nlogn)$

 

$se.$第二类斯特林数。

$$\begin{Bmatrix}n\\k\end{Bmatrix}$$

$n$个元素划分为$k$个集合的方案数。

根据定义,枚举第$n$个元素所在的集合,可以得到递推式:

$$\begin{Bmatrix}n\\k\end{Bmatrix}=\begin{Bmatrix}n-1\\k-1\end{Bmatrix}+k\begin{Bmatrix}n-1\\k\end{Bmatrix}$$

 

性质1:

$$k^n=\sum\limits_{i=0}^{k}\begin{Bmatrix}n\\i\end{Bmatrix}i!\binom{k}{i}=\sum\limits_{i=0}^{k}\begin{Bmatrix}n\\i\end{Bmatrix}k^{\underline{i}}$$

我们在$k$个集合中选择$i$个集合放入元素,然后全排列这些集合,得到的就是$n$个元素放入$k$个可空集合的方案数。

 

性质2:

说过了第二类斯特林数是划分组合。

考虑用组合数来表示斯特林数。

利用容斥原理即可,我们枚举$k$个集合中至少空的集合,并且将之除去排列,得到:

$$\begin{Bmatrix}n\\k\end{Bmatrix}=\frac{1}{k!}\sum\limits_{i=0}^{k}(-1)^i\binom{k}{i}(k-i)^n$$

是奇加偶减。

 

求第二类斯特林数:

利用性质2。

展开:

$$\begin{array}{rcl}\\ \begin{Bmatrix}n\\k\end{Bmatrix}&=&\sum\limits_{i=0}^{k}(-1)^i\frac{1}{k!}\frac{k!}{i!(k-i)!}(k-i)^n\\&=&\sum\limits_{i=0}^{k}(-1)^i\frac{1}{i!}\frac{(k-i)^n}{(k-i)!}\end{array}$$

是卷积的形式,那么可以在$O(nlogn)$的复杂度内求出第$n$行斯特林数。

 

$th.$斯特林反演。

首先给出结论:

$$f(n)=\sum\limits_{i=0}^{n}\begin{Bmatrix}n\\i\end{Bmatrix}g(i)\ ->\ g(n)=\sum\limits_{i=0}^{n}\begin{bmatrix}n\\i\end{bmatrix}(-1)^{n-i}f(i)$$

两个引理:

$$x^{\underline{n}}=(-1)^n(-x)^{\overline{n}}$$

$$x^{\overline{n}}=(-1)^n(-x)^{\underline{n}}$$

只证明第一个:

证明:

$$\begin{array}{rcl}x^{\underline{n}}&=&(-1)^n\prod\limits_{i=0}^{n-1}(-(x-i))\\&=&(-1)^n(-1)^n\prod\limits_{i=0}^{n-1}(x-i)\\&=&x^{\underline{n}}\end{array}$$

两个反转公式:

$$\sum\limits_{i=m}^{n}\begin{bmatrix}n\\i\end{bmatrix}\begin{Bmatrix}i\\m\end{Bmatrix}=[m=n]$$

$$\sum\limits_{i=m}^{n}\begin{Bmatrix}n\\i\end{Bmatrix}\begin{bmatrix}i\\m\end{bmatrix}=[m=n]$$

反转一证明:

由第一类斯特林数性质2和第二类斯特林数性质1得到:

$$\begin{array}{rcl}x^{\underline{n}}&=&\sum\limits_{i=0}^{n}(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}x^i\\&=&\sum\limits_{i=0}^{n}(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}\sum\limits_{j=0}^{i}\begin{Bmatrix}i\\j\end{Bmatrix}x^{\underline{j}}\\ \end{array}$$

更换枚举顺序得到:

$$=\sum\limits_{i=0}^{n}x^{\underline{i}}\sum\limits_{j=i}^{n}(-1)^{n-j}\begin{bmatrix}n\\i\end{bmatrix}\begin{Bmatrix}j\\i\end{Bmatrix}$$

设$f(n,m)=\sum\limits_{i=m}^{n}(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}\begin{Bmatrix}i\\m\end{Bmatrix}$

那么:

$$\begin{array}{rcl}&=&\sum\limits_{i=0}^{n}x^{\underline{i}}f(n,i)\\&=&x^{\underline{n}}\\&=&\sum\limits_{i=0}^{n}x^{\underline{i}}[n=i]\end{array}$$

所以:

$$f(n,m)=[n=m]$$

$$f(n,m)=[n=m]$$

$$f(n,m)=[n=m]$$

$$f(n,m)=[n=m]$$

$$f(n,m)=[n=m]$$

$$f(n,m)=[n=m]$$

$f$和反转公式一是相等的,得证。

 

然后反转二证明:

$$x^n=\sum\limits_{i=0}^{n}\begin{Bmatrix}n\\i\end{Bmatrix}(-1)^{i}x^{\underline{i}}$$

利用引理二:

$$\begin{array}{rcl}&=&\sum\limits_{i=0}^{n}\begin{Bmatrix}n\\i\end{Bmatrix}(-1)^i\sum\limits_{j=0}^{i}\begin{bmatrix}i\\j\end{bmatrix}(-1)^j(x)^j\\&=&\sum\limits_{i=0}^{n}x^j\sum\limits_{j=i}^{n}(-1)^{j-i}\begin{Bmatrix}n\\j\end{Bmatrix}\begin{bmatrix}j\\i\end{bmatrix}\end{array}$$

 

斯特林反演证明:

假设:

 

$$g(n)=\sum\limits_{i=0}^{n}(-1)^{n}(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}$$

$$\begin{array}{rcl}f(n)&=&\sum\limits_{i=0}^{n}[n=i]f(i)\\&=&\sum\limits_{i=0}^{n}\sum\limits_{j=i}^{n}(-1)^{n-j}\begin{Bmatrix}n\\j\end{Bmatrix}\begin{bmatrix}j\\i\end{bmatrix}f(i)\\&=&\sum\limits_{i=0}^{n}\begin{Bmatrix}n\\i\end{Bmatrix}\sum\limits_{j=0}^{i}\begin{bmatrix}i\\j\end{bmatrix}f(i)\\&=&\sum\limits_{i=0}^{n}\begin{Bmatrix}n\\i\end{Bmatrix}g(i)\\ \end{array}$$

 

另一种至少形式:

$$f(m)=\sum\limits_{i=m}^{n}\begin{Bmatrix}i\\m\end{Bmatrix}g(i)\ ->\ g(m)=\sum\limits_{i=m}^{n}\begin{bmatrix}i\\m\end{bmatrix}(-1)^{i-m}g(i)$$

 

$fo.$相互再归的鹅妈妈。

与其说是斯特林反演不如说是系数构造容斥了。

根据某个斯特林数的性质设计容斥:

$$x^{\underline{n}}=\sum\limits_{i=0}^{n}(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}x^i$$

将$x=1$带入。

$$\sum\limits_{i=0}^{n}(-1)^{n-i}\begin{bmatrix}n\\i\end{bmatrix}=1^{\underline{n}}=[n=1]$$

因为下降幂再乘就乘到0了。

设集合$S$有$n$个元素,$S$的一种集合划分为$m$,记作$m\in S$,$m$中的集合个数称做$k$,每个集合的大小称作$a_i$。

考虑第一类斯特林数的意义,其实就是枚举每一种划分,然后将划分中的每个集合排序。

那么:

$$[n=1]=\sum\limits_{m\in S}(-1)^{n-k}\prod{i=1}^{k}(a_i-1)!=\sum\limits_{m\in S}\prod{i=1}^{k}(a_i-1)!(-1)^{a_i-1}$$

这就是题解写的那个式子了,俩月之前还理解不了呢。

假设我们已经求出可以重复的方案数。

我们把$n$集合划分,要求相同的数在同一集合,不同的在不同集合。

对于一个划分方案,我们发现它要满足的条件是:

$$\prod\limits_{i=1}^{k}[a_i=1]$$

也就是各不相同。

设一个容斥系数$f(m)$,总的被计算的方案就是:

$$\sum\limits_{m\in S}f(m)\prod\limits_{i=1}^{k}\begin{bmatrix}a_i\\1\end{bmatrix}$$

要求每个被计算的方案都满足:

$$\prod\limits_{i=1}^{k}[a_i=1]$$

那么:

$$f(m)=(-1)^{n-k}$$

设$dp[i]$为$i$个人可重复的方案数。

$$ans=\sum\limits_{m\in S}dp[k](-1)^{n-k}\prod\limits_{i=1}^{k}\begin{bmatrix}a_i\\1\end{bmatrix}=\sum\limits_{m\in S}dp[k]\prod\limits_{i=1}^{k}(a_i-1)!(-1)^{a_i-1}$$

现在考虑求$dp$数组。

首先考虑有序方案,最后除去$n!$即可。

枚举究竟在哪一位某个人开始与$R$不相同,这样得到了的人后面可以乱填,同时只需要留一个人来调和其他不为0的位置即可。

数位$dp$。

好久以前的题啊,终于还是解决掉了。

Guess you like

Origin www.cnblogs.com/Lrefrain/p/11673643.html