SDNUOJ1011(斯特灵数)

原创 2016年05月31日 19:57:58

Stirling数的第er类应用
有关斯特灵数的知识可以看看维基百科
Stirling数两大应用
1.
第一类Stirling数是有正负的,其绝对值是n个元素的项目分作k个环排列的方法数目。常用的表示方法有s(n,k) ,换个较生活化的说法,就是有n个人分成k组,每组内再按特定顺序围圈的分组方法的数目。
2.
第二类Stirling数是n个元素的集定义k个等价类的方法数目。常用的表示方法有S(n,k) , 换个较生活化的说法,就是有n个人分成k组的分组方法的数目。
递推公式:
第一类Stirling数是有正负的,其绝对值是包含n个元素的集合分作k个环排列的方法数目。   
递推公式为,   
1.S(n,0) = 0, S(1,1) = 1.;(结束条件) 
2.S(n+1,k) = S(n,k-1) + nS(n,k)。
第二类Stirling数是把包含n个元素的集合划分为正好k个非空子集的方法的数目。   
递推公式为:  
1.S(n,k)=0
S(n,n) = S(n,1) = 1;(结束条件)
2.S(n,k) = S(n-1,k-1) + kS(n-1,k).
注意不dan球不同,盒子也不同,需将盒子排列;

题目代码(打表)

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    int n,k;
    long long kj[15];//k的阶乘
    long long hq[15][15];//hq[i][j]i个球,k个盒子
    memset(hq,0,sizeof(hq));
    memset(kj,0,sizeof(kj));
    kj[1]=1;
    for(int i=2;i<=10;i++)
        kj[i]=i*kj[i-1];
    for(int i=1;i<=10;i++)
    {
        hq[i][i]=1;
        hq[i][1]=1;
    }
    for(int i=1;i<=10;i++)
        for(int j=2;j<=10;j++)
            if(i>j)
            hq[i][j]=hq[i-1][j-1]+j*hq[i-1][j];
    while(scanf("%d %d",&n,&k)!=EOF)
    {
        printf("%lld\n",kj[k]*hq[n][k]);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

sdnuoj1012 区间合并

1012.区间合并 Time Limit: 1000 MS    Memory Limit: 32768 KB Total Submission(s): 75    Accepted Su...
  • turbo_7
  • turbo_7
  • 2013年05月27日 20:31
  • 562

POJ1703简单的并查集

输入的时候,两个人竟然不是一伙,而且恰恰相反 开始把我看得好蒙,不是一伙的怎么并 没法并怎么查; 还是看了大牛的博客,原来就是加一个bool类型的判断数组就解决了 还是运用的不灵活,还是刷的题...

POJ1125(folyd多源最短路)

数据输入: n:经济人总数,图的大小; 接下来n行 m 是第i个经纪人信任的人个数 2*m 个数字分别代表那个人的编号与传播时间找一个经纪人传播全图最快 输出那个人的编号和时间如果所有人都...

hdu 2512 一卡通大冒险【dp】【第二类斯特灵数】

一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S...

ACM常用数列(斐波那契数列、卡特兰数、贝尔数、斯特灵数)

斐波那契数列:任意一个数是其前两位数只和,即f(i)=f(i-1)+f(i-2),f(1)=f(2)=1 该数列也满足黄金分割比例,所以又成为黄金分割数列 题目链接: http://acm.hd...
  • sm9sun
  • sm9sun
  • 2016年11月19日 16:24
  • 868

斯特灵数 stiriling

第一类stiriling数: 先给出定义 s(n,k): 个元素的项目分作{\displaystyle k}个环排列的方法数目 (此时我们就可以忽略排列的开始元素 举个例子:s(4,2) = 11 ...

斯特灵数 (Stirling数)

@维基百科 在组合数学,Stirling数可指两类数,都是由18世纪数学家James Stirling提出的。 第一类 s(4,2)=11 第一类Stirling数是有正负的,...
  • yew1eb
  • yew1eb
  • 2013年08月17日 15:17
  • 1693

SGU 441 Set Division(矩阵,斯特灵数)

转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove 题目:有N个物品,分到K个不...

HDU 3625 Examining the Rooms(10年天津网赛,斯特灵数)

转载请注明出处,谢谢http://blog.csdn.net/acm_cxlove/article/details/7854526       by---cxlove 题目:给出N个房间,每个房...

hdu - 2512 一卡通大冒险 (斯特灵数 && 贝尔数)

http://acm.hdu.edu.cn/showproblem.php?pid=2512     题意:给你k张不同的
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SDNUOJ1011(斯特灵数)
举报原因:
原因补充:

(最多只允许输入30个字)