贝尔数
来源:互联网 发布:手机 惯性导航算法 编辑:程序博客网 时间:2024/04/27 02:57
转自ACdreamer http://blog.csdn.net/acdreamers/article/details/12309269
Bell数的定义:第n个Bell数表示集合{1,2,3,...,n}的划分方案数,即:B[0] = 1;
每一个Bell数都是第二类Stirling数的和,即:
第二类Stirling数的意义是:S(n,k)表示将n个物体划分成k个非空的不可辨别的(可以理解为盒子没有编号)集合的方法
数。很明显,每一个Bell是对应的第二类Stirling数之和。
Bell数的指数生成函数是:
关于它的推导过程详见:http://ftiasch.github.io/useless/posts/2013-09-27-generating-function-of-bell-number.html
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];
如图:
可以看出,每行首项是贝尔数,每行之和是第二类Stirling数。
Bell还有两个重要的同余性质:
其中这里的p是不大于100的素数,这样,我们可以通过上面的性质来计算Bell数模小于100的素数值。
Bell数模素数p的周期为:
典型题目:HDU2512,HDU4767
Bell数的预处理:
- void Bell(int T[],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];
- }
- }
0 0
- 贝尔数
- 贝尔数,分拆
- HDU2512-贝尔数
- 组合数学:贝尔数
- 贝尔(Bell)数
- 集合划分问题--贝尔数
- Bell - HDU 4767 贝尔数
- 贝尔数&&斯特灵数&&调和数&&伯努利数
- Hdu 2512 一卡通大冒险 (贝尔数)
- hdu 2521 一卡通大冒险 (斯特灵数,贝尔数)
- HDU2512 一卡通大冒险【斯特灵数,贝尔数】
- hdu 2512 构造贝尔数三角
- 集合划分问题(贝尔数)
- 挑战程序设计竞赛 划分数,贝尔数,斯特灵数
- HDU 2512 一卡通大冒险(斯特灵数,贝尔数)
- Hdu4767 Bell (贝尔数 中国剩余定理 构造矩阵)
- HDU4767 Bell 中国剩余定理 贝尔数 第二类斯特灵数
- hdu - 2512 一卡通大冒险 (斯特灵数 && 贝尔数)
- STL list链表的用法详解
- Friendship
- uCOS-III 基础
- IE浏览器在Javascript处理数组对象时出现数组个数不正确
- 高精度之n!(n<=10000)
- 贝尔数
- Android自定义ImageView实现图片缩放滑动,双击放大缩小,多点触控缩放
- light oj 1110 LCS 记录路径
- HDU 5371 Hotaru's problem(Manacher 求一序列三部分回文)
- hadoop远程调试
- System.currentTimeMillis()计算方式与时间的单位转换
- bzoj3585: mex
- Highways POJ 2485【Prim】
- oracle授权时“with admin option”与“with grant option”的区别