XDOJ1145–组合数学四之Carnival Phantasm

XDOJ1145–组合数学四之Carnival Phantasm描述:为解救可怜的武内崇老师,saber、远坂、爱尔奎特、希耶尔等人组成了第六科急救队!最终,由琥珀开发出了禁药,分身光线(这药是内服还是外用的==?),将爱尔奎特批量化生产,来对月世界进行全面的地毯式搜索。现已知,第六科共有m个复制人(每个复制人完全一样),月世界有n个城市,每个城市会被一个复制人搜索一遍。问:共有多少种分配方法。(根据时空管理局劳务法更定,每个复制人又要分得工作。)…

大家好,又见面了,我是你们的朋友全栈君。

描述:

为解救可怜的武内崇老师,saber、远坂、爱尔奎特、希耶尔等人组成了第六科急救队!最终,由琥珀开发出了禁药,分身光线(这药是内服还是外用的= =?),将爱尔奎特批量化生产,来对月世界进行全面的地毯式搜索。

现已知,第六科共有m个复制人(每个复制人完全一样),月世界有n个城市,每个城市会被一个复制人搜索一遍。问:共有多少种分配方法。(根据时空管理局劳务法更定,每个复制人又要分得工作。)

Input

每一行有一个m和n(1<=m<n<1000)

Output

每一行输出一个可能的个数(模10007取余)

Sample Input

2 4
1 5

Sample Output

7
1

 

解题思路:

这其实是求第二类斯特林数。{n,k}表示将有n件物品的集合划分成k个非空子集的方法数,显然{n,1}=1,{n,n} = 1,{n,0} = 0,并有以下递归式:

{n,k} = k{n-1,k}+{n-1,k-1}, n>0

解释:给定一个有n个元素的集合,要把它分成k个非空的部分,我们或者将最后元素单独放入一类(用{n-1,k-1}种方式),或者把它与前n-1个元素的某个非空子集放在一起。在后一种情况下,有k{n-1,k}种可能性,因为把前面n-1个元素分成k个非空部分{n-1,k}种方法的每一种都给出k个子集。

最后有一点要说明的是,虽然题目是n<1000,但实际提交发现其实是包括1000的,因为这种原因纠结了好长时间 。

#include <iostream>
using namespace std;
const int N = 1001;
int stirling[N][N];
int getStirling(int n,int k)
{
    if(stirling[n][k]!=-1)
       return stirling[n][k];
    else
        stirling[n][k] = (k*getStirling(n-1,k)+getStirling(n-1,k-1))%10007;
    return stirling[n][k];
}

int main()
{

    for(int i=0;i<N;++i)
        for(int j=i;j<N;++j)
            stirling[j][i] = -1;
    for(int i=1;i<N;++i)
    {
        stirling[i][1] = 1;
        stirling[i][i] = 1;
    }
    int m,n;
    while(cin>>m>>n)
    {
        cout<<getStirling(n,m)<<endl;
    }
    return 0;
}

 

最后欢迎大家访问我的个人网站: 1024s

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139033.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释

    LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释LoRa学习:LoRa关键参数(扩频因子,编码率,带宽)的设定及解释1、扩频因子(SF)2、编码率(CR)3、信号带宽(BW)4、LoRa信号带宽BW、符号速率Rs和数据速率DR的关系5、LoRa信号带宽、扩频因子和编码率的设定6、空中速率针对特定应用,开发人员可通过调制扩频因子、调制带宽、纠错编码率这三个关键设计参数,对LoRa调制解调技术进行优化。。…

    2022年10月10日
    3
  • 解决CentOS7虚拟机无法上网并设置CentOS7虚拟机使用静态IP上网

    解决CentOS7虚拟机无法上网并设置CentOS7虚拟机使用静态IP上网最近在VMware虚拟机里玩Centos,装好后发现上不了网。经过一番艰辛的折腾,终于找到出解决问题的方法了。最终的效果是无论是ping内网IP还是ping外网ip,都能正常ping通。方法四步走:第一步,我们进入/etc/sysconfig/network-scripts目录,查看该目录有没有形如ifcfg-XXX的文件:如果你看不到以ifcfg-打头的文件(ifcfg-lo除外),…

    2022年5月12日
    36
  • nginx配置负载均衡,tomcat宕机响应缓慢,自动切换的问题

    nginx配置负载均衡,tomcat宕机响应缓慢,自动切换的问题用了nginx负载均衡后,在两台tomcat正常运行的情况下,访问http://localhost速度非常迅速,通过测试程序也可以看出是得到的负载均衡的效果,但是我们试验性的把其中一台tomcat(serverlocalhost:8080)关闭后,再查看http://localhost,发现反应呈现了一半反映时间快,一半反映时间非常非常慢的情况,但是最后都能得到正确结果。解决办法:问题解决,主要是proxy_connect_timeout这个参数,…

    2022年7月23日
    14
  • 【转载】TCP粘包问题分析和解决(全)

    【转载】TCP粘包问题分析和解决(全)

    2021年11月18日
    36
  • json到底是什么(c# json)

    &gt;如果点进来的刚巧是个高手,那……你就当是过来做个鉴定的吧。很多从事数据分析工作的伙伴都是从“最简单”的神器—Excel开始入门的,对编程语言、计算机世界的很多工具都不甚了解。要做结构化的数据,就赶紧跑去自学sql,学习sqlserver或是mysql数据库。要做半结构化、非结构化的数据又得去学习诸如mongo数据库的东西。&gt;天天听对面的程序员小哥说我给你个打包个j…

    2022年4月16日
    49
  • 【矩阵论】单射、满射与双射

    【矩阵论】单射、满射与双射映射;Mapping映射是两个集合中的一种特殊的对应关系,即如果按照某种对应法则,对于集合A中的任何一个元素,在集合B中都有惟一的元素与它对应,那么这样的对应(包括对应法则)叫做集合A到集合B的映射。其中,A中的元素称为原像,B中的元素称为A中元素的像(imageimage)。单射、满射与双射;Injection,surjectionandbijection单射:在英语中称为injection

    2022年5月2日
    136

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号