题意:有m种特产,第i种有a[i]个

有n个同学分特产,要求:

1.恰好分完

2.每个人至少要分到一个

求方案数模10^9+7

n,m,a[i]<=1000

思路:WYZ作业

首先考虑对于每一种特产,a[i]个特产分给n个人而且每人都分到的方案数是C(n+a[i]-1,n-1)*c(n,n)

对于m种特产,所有人分的方案数就是它们的乘积

考虑有些人没分到,设现在只有n-i个人可能分到,另外i人什么都没有

方案数是c(n-i+a[i]-1,n-i-1)*c(n,n-i)

显然容斥,枚举有几人取到,对于每一种方案数相乘再加(减)即可

 const mo=;
var c:array[..,..]of longint;
a:array[..]of longint;
n,m,i,j,v:longint;
sun,ans:int64; begin readln(n,m);
for i:= to m do read(a[i]);
c[,]:=; c[,]:=;
for i:= to do
begin
c[i,]:=;
for j:= to do c[i,j]:=(c[i-,j-]+c[i-,j]) mod mo;
end;
v:=-; sun:=;
for i:=n downto do
begin
v:=-v; ans:=c[n,i];
for j:= to m do
begin
ans:=ans*c[i+a[j]-,i-];
if ans>=mo then ans:=ans mod mo;
end;
sun:=(sun+ans*v) mod mo;
sun:=(sun+mo) mod mo;
end;
writeln(sun); end.

最新文章

  1. 崽崽帮www.zaizaibang.com精选3
  2. Android开发学习之路-使用Handler和Message更新UI
  3. html5 响应式布局
  4. JAVA 设计模式 访问者模式
  5. java短信接口
  6. log4net记录日志到数据库自定义字段
  7. c# 框架学习(nop )总结-------删除功能
  8. [转]EntityFramework走马观花之CRUD(上)
  9. HDU 2444:The Accomodation of Students(二分图判定+匹配)
  10. python 电影下载链接爬虫
  11. web开发(Java&amp;Jquery)实现验证码
  12. ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK
  13. int与integer的区别(基本数据类型与引用数据类型)
  14. Android shared_preference操作
  15. 【BZOJ4030】[HEOI2015]小L的白日梦
  16. MySQL数据备份方法
  17. java根据输入的字符串和字节数来截取,输出对应字节数的字符串
  18. python之 MySQLdb 实践 爬一爬号码
  19. f5健康检查
  20. 04-Tomcat体系结构与插件配置

热门文章

  1. @ComponentScan、@EnableFeignClients和@MapperScan注解笔记
  2. joomla建站-双语CMS系统开发的实现
  3. web安全后渗透--XSS平台搭建及使用
  4. 提高SQL查询效率 的10大方法
  5. mvc框架 与vuex的介绍
  6. HDU_1710_二叉树前序中序确定后序
  7. charset - 设置 G0/G1 字符集槽中的一个的 ACM
  8. thinkphp5中extend的使用?
  9. ionic3 ion-slides遇坑
  10. [USACO12MAR] 摩天大楼里的奶牛 Cows in a Skyscraper