bzoj 2142: 礼物(组合数取模终极版) 组合数学+中国剩余定理+exgcd

该博客讨论了如何在非素数模意义下计算组合数,以解决圣诞节礼物分配问题。当p不是素数时,通过分解质因数并应用中国剩余定理来组合多个组合数。博主介绍了计算阶乘的方法,特别是如何处理可能在模运算中变为0的情况,并给出了递归计算的思路。
摘要由CSDN通过智能技术生成

题意

一年一度的圣诞节快要来到了。每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小E心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多。小E从商店中购买了n件礼物,打算送给m个人,其中送给第i个人礼物数量为wi。请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某个人在这两种方案中收到的礼物不同)。由于方案数可能会很大,你只需要输出模P后的结果。
m<=5,n,p<=10^9,p不一定为素数。

分析

显然答案就等于若干个组合数搞起来,这里就不推了。
因为p不是素数,所以显然不能用lucas定理来搞,那么我们就考虑把p分解质因数,分开求组合数然后用天朝剩余定理合并即可。
那么对于一个组合数 Cmnmodp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值