Bell数
来源:互联网 发布:matlab迭代算法函数 编辑:程序博客网 时间:2024/04/28 04:06
Bell数
1. 定义:
第n个Bell数表示集合{1,2,3,...,n}的划分方案数,即:B[0] = 1;
2. 其指数生成函数:
sigma(n=0~inf,B[n]/n! * x^n) = e^(e^x - 1)
3. 性质:
(1) Bell数与第二类Stiring数的关系:
B[n] = sigma(k=1~n,S(n,k)) , S()表示S第二类tiring数
第二类Stirling数的意义是:S(n,k)表示将n个物体划分成k个非空的不可辨别的(可以理解为盒子没有编号)集合的方法数。
(2) Bell三角形(构建方法类似于杨辉三角形)
Bell三角形的构造方法:
第一行第一个元素是1,即a[1][1] = 1
对于n>1,第n行第一项等于第n-1行最后一项,即a[n][1] = a[n-1][n-1];
对于m,n>1,第n行第m项等于它左边和左上方的两个数之和,即a[n][m] = a[n][m-1] + a[n-1][m-1];
(3) Bell数的同余性质:
(B[n] + B[n+1]) % p = B[p+n] % p , 其中p为任意质数
(mB[n] + B[n+1]) % p = B[p^m + n] % p , 其中p为任意质数
(4) Bell数模素数p的周期为:
N[p] = (p^p - 1) / (p - 1)
4. Bell数预处理
5. 利用同余性质求大Bell数的模值(注意:要预处理mod内的所有bell数)
1. 定义:
第n个Bell数表示集合{1,2,3,...,n}的划分方案数,即:B[0] = 1;
2. 其指数生成函数:
sigma(n=0~inf,B[n]/n! * x^n) = e^(e^x - 1)
3. 性质:
(1) Bell数与第二类Stiring数的关系:
B[n] = sigma(k=1~n,S(n,k)) , S()表示S第二类tiring数
第二类Stirling数的意义是:S(n,k)表示将n个物体划分成k个非空的不可辨别的(可以理解为盒子没有编号)集合的方法数。
(2) Bell三角形(构建方法类似于杨辉三角形)
Bell三角形的构造方法:
第一行第一个元素是1,即a[1][1] = 1
对于n>1,第n行第一项等于第n-1行最后一项,即a[n][1] = a[n-1][n-1];
对于m,n>1,第n行第m项等于它左边和左上方的两个数之和,即a[n][m] = a[n][m-1] + a[n-1][m-1];
(3) Bell数的同余性质:
(B[n] + B[n+1]) % p = B[p+n] % p , 其中p为任意质数
(mB[n] + B[n+1]) % p = B[p^m + n] % p , 其中p为任意质数
(4) Bell数模素数p的周期为:
N[p] = (p^p - 1) / (p - 1)
4. Bell数预处理
LL T[55],B[55];void get_bell(int n,int mod){ B[0]=1; B[1]=1; T[0]=1; for(int i=2;i<=n;++i){ T[i-1]=B[i-1]; for(int j=i-2;j>=0;--j) T[j]=(T[j]+T[j+1])%mod; B[i]=T[0]; }}
5. 利用同余性质求大Bell数的模值(注意:要预处理mod内的所有bell数)
//求B[n]%mod//要先预处理前50项Bell数,当然可以更多//vis每次调用前都要清空map<int,LL> vis;LL bell_mod(int n,int mod){LL ret=vis[n];if(ret) return ret;if(n<=50) return B[n];//改LL k=0;LL P=1;while(P<n){P=P*mod;++k;}P/=mod;--k;return vis[n]=(k*bell_mod(n-P,mod)+bell_mod(n-P+1,mod))%mod;}
0 0
- Bell数
- Bell数
- bell数
- bell数
- Bell数
- 贝尔(Bell)数
- hdu2512 Bell数
- 第一二类斯特林数,bell数
- Bell数和Stirling数
- stirling数&bell数模板
- Bell数+中国剩余定理
- hdu 一卡通大冒险[Bell数]
- UVA 10844 - Bloques bell数
- Bell - HDU 4767 贝尔数
- FZU 1570 集合划分问题(bell数)
- Bell数的生成函数推导
- HDU4767(待做)&&HDU2512 【Bell数】
- [组合数学] 第一类,第二类Stirling数,Bell数
- Merge Two Sorted Lists
- PhpDocumentor手册-安装和标签使用
- 指针分配和释放空间(转)
- PHP mysql 和 mysqli
- Java 加解密技术系列之 总结
- Bell数
- 利用文件头判断文件类型
- 进程的定义
- 设计的黄金原则
- error: ‘strcmp’ was not declared in this scope
- 面向对象之继承的理解
- 关于重写UICollectionViewCell后的执行顺序
- PHP 的错误和异常处理
- 为iPhone 6设计自适应布局