码迷,mamicode.com
首页 > 其他好文 > 详细

【BZOJ】2142 礼物

时间:2017-07-08 19:17:46      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:strong   组合   排列   剩余定理   组合数取模   bsp   nbsp   排列组合   合数   

【算法】中国剩余定理+组合数取模(lucas)

【题意】给定n件物品分给m个人,每人分到wi件,求方案数%p。p不一定是素数。

【题解】

首先考虑n全排列然后按wi划分成m份,然后对于每份内都是全排列,除以wi!消除标号影响,注意剩余的(n-W)也视为一份。

所以ans=n!/(w1!w2!...wm!(n-W)!)%p

也可以从排列组合公式方面考虑,即

ans=C(n,w1)*C(n-w1,w2)*C(n-w1-w2,w3)*...*C(n-w1-w2-...-w_(m-1),wm) mod P

      =n!/w1!/w2!/.../wm! mod P (by POPOQQQ)

 

为了出p倍数

【BZOJ】2142 礼物

标签:strong   组合   排列   剩余定理   组合数取模   bsp   nbsp   排列组合   合数   

原文地址:http://www.cnblogs.com/onioncyc/p/7137642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!