【BJWC2008】王之财宝Gate Of Babylon——超详解

题目描述:P4640 [BJWC2008] 王之财宝

《基尔伽美修》是人类历史上第一部英雄史诗,两河流域最杰出的文学作品之一。作品讲述了基尔伽美修一生的传奇故事。在动画Fate/stay night中,基尔伽美修与亚瑟王等传说中的英雄人物一起出现在了现实世界,展开了一场惊天地、泣鬼神的战斗。在记载于12块泥板的史诗中,基尔伽美修与同伴安吉杜一起降伏了森林的守护者——神兽洪芭芭,成为地上最强的王者,同时将世间所有财宝收归手中。王之财宝(Gate of Babylon)成为Fate中金皮卡(基尔伽美修的外号…)炫耀的资本……

一天金皮卡突发奇想:如果从自己无尽的财宝里面,随便抽不超过M件宝具出来砸死敌人的话。一共有多少种搭配方法呢?假设金皮卡一共有N种不同类型的宝具,大部分类型的宝具都有无限多,但其中T种超级神器的数量是有限的。设第i种超级神器的数量不超过Bi​件。若相同类型的宝具数量相同,则认为是相同的搭配方案。

金皮卡知道方案数会很大,从小数学成绩就好的他挑选了一个质数P,请你帮他计算一下方案数模P后的余数。注意:一件也不选也是一种方案。

输入格式:

第一行包含4个整数,分别为N,T,M,P。之后T行,每行一个整数,代表Bi;

数据范围:N,M\leq 10^{9},P\leq 10^{5},0\leq Bi\leq 10^{9},M> 0,0\leq T\leq N,T\leq 15.

输出格式:

仅包含一个整数,即方案数模P后的余数。

分析思路(超详细):

总体思想是用隔板法+容斥原理求解,具体步骤如下:

  • 1) 计算没有任何限制时的所有可能组合数

        在不考核任何限制的情况下,N种宝具中每种宝具都可以选择0~M件,总的方案数相当于求解方程:a+b+c+...+n\leq M的非负整数解的个数,(其中a,b,c...分别代表A、B、C...对应宝具的数量)。可以转化为求解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值