斯特林

组合计数 && Stirling数

旧街凉风 提交于 2020-02-04 02:03:50
参考: http://blog.csdn.net/qwb492859377/article/details/50654627 http://blog.csdn.net/acdreamers/article/details/8521134 http://blog.csdn.net/sr_19930829/article/details/40888349 球,盒子都可以分成是否不能区分,和能区分,还能分成是否能有空箱子,所以一共是8种情况,我们现在来一一讨论。 1.球同,盒不同,无空箱 C(n-1,m-1), n>=m 0, n<m 使用插板法:n个球中间有n-1个间隙,现在要分成m个盒子,而且不能有空箱子,所以只要在n-1个间隙选出m-1个间隙即可 2.球同,盒不同,允许空箱 C(n+m-1,m-1) 我们在第1类情况下继续讨论,我们可以先假设m个盒子里都放好了1个球,所以说白了就是,现在有m+n个相同的球,要放入m个不同的箱子,没有空箱。也就是第1种情况 3.球不同,盒相同,无空箱 第二类斯特林数dp[n][m] dp[n][m]=m*dp[n-1][m]+dp[n-1][m-1],1<=m<n dp[k][k]=1,k>=0 dp[k][0]=0,k>=1 0,n<m 这种情况就是第二类斯特林数,我们来理解一下这个转移方程。 对于第n个球,如果前面的n-1个球已经放在了m个箱子里

P5395 【模板】第二类斯特林数·行

烈酒焚心 提交于 2019-12-15 22:35:51
闲扯 多项式乘法练习题 题面 P5395 【模板】第二类斯特林数·行 Solution 我们设 \(s_{n,m}=\begin{Bmatrix} n\\ m \end{Bmatrix}\) 。 考虑第二类斯特林数的通项式: \[ s_{n,m}=\sum_{i=0}^m (-1)^iC_{m}^i\frac{(m-i)^n}{m!}\\ =\sum_{i=0}^m (-1)^i\frac{m!}{(m-i)!\ i!}\frac{(m-i)^n}{m!}\\ =\sum_{i=0}^m \frac{(-1)^i}{i!}\cdot \frac{(m-i)^n}{(m-i)!} \] 可以发现这是一个卷积的形式。 我们设 \(\hat{A}=\sum_{i=0}^{\infin}\frac{(-1)^i}{i!}x^i,\hat{B}=\sum_{i=0}^{\infin}\frac{i^n}{i!}x_i,\hat{S}=\sum_{i=0}^{\infin}s_i\cdot x_i\) 。 我们有 \(\hat{S}=\hat{A}\cdot \hat{B}\) ,直接上 \(NTT\) 即可。 考虑怎么证明通项式。 由定义可知 \(s_{n,m}\) 表示 \(n\) 个数恰好分入 \(m\) 个集合的方案数。 考虑容斥。 我们枚举 \(i\) 表示有 \(i\)

「总结」多项式生成函数例题(1)

青春壹個敷衍的年華 提交于 2019-12-11 20:18:21
1.礼物 先给你们来个简单点的。 http://hzoj.com/contest/220/problem/1 那么其实就是在求最小的: \[\begin{array}{rcl}ans&=&\sum\limits_{i=1}^{n}(x_i-y_i+c)^2\\&=&\sum\limits_{i=1}^{n}(x_i-y_i)^2+2(x_i-y_i)c+c^2\end{array}\] 可以发现贡献分成了两部分。 一部分的变量是 \(c\) 另一部分是 \(x,y\) 。 这样分别计算最小值即可。 右边的那个直接带入 \(c\in[-100,100]\) 即可。 左边的再接着化式子。 \[\sum\limits_{i=1}^{n}x_i^2+y_i^2-2x_iy_i\] 前面的可以直接求。 只需要求后面的部分: \[\sum\limits_{i=1}^{n}x_iy_i\] 的最大值。 \[\sum\limits_{i=1}^{n}x_{(i+k)mod\ n}y_i\] 发现卷积的影子了。 我们将 \(y\) 复制一次接到后面, \(x\) 直接翻转。 做一次多项式乘法。 第 \(i+n\) 项的系数,就是错位 \(i\) 次之后的乘法值。 这样问题就在 \(O(nlogn)\) 复杂度内解决了。 2.染色 http://hzoj.com/contest/126/problem

随便瞎写的一点乱东西

不问归期 提交于 2019-11-27 03:36:48
目录 整数拆分 减法原理 除法原理 插板法 容斥原理 错排 第二类斯特林数 Min-Max 容斥 第一类斯特林数 Bell Numbers 欧拉数 整数拆分 整数拆分:n拆成m个整数的和的方案数=n拆分成若干不超过m的数的和的方案数。 证明:有个叫Ferrers图的东西,大概的意思就是 n拆成m个整数图形化,然后图形倒置就成了第二个。 然后证明这是一个单射且是满射(即这是一个双射 双射有性质:|A| = |B| 证毕。 减法原理 n个数,每个数是1到m中的一个,问至少有一个>=k的方案数 减法原理 \(m^n - (k - 1)^n\) 除法原理 有事件A和B1,B2,…,Bk,当A发生的时候,一定有恰好一个Bi发生,且每种发生的方案数相同。现在知道A发生的方案数,求B1发生的方案数。 \(f(B1) = \frac{f(A))}{k}\) 插板法 容斥原理 其实也满足概率的计算 错排 求长度为n且满足 \(P_i \ne i\) 的排列个数 \(D_n\) 第二类斯特林数 组合意义:求n个球放到m个盒子里,球可区分、盒子不可区分,每个盒子都非空的方案数。 考虑用容斥计算 \(f(S) = (m - |S|)^n\) \(\sum{-1^{|S|}f(S)} = \sum_{i= 0}^m(m - i)^n *(-i)^n*\dbinom{m}{i}\) 即 \(S(n,m) =