题面

题目传送门

解法

考虑容斥原理

显然,我们可以枚举有多少个人没有收到

然后就转化成一个组合问题了

假设现在有\(x\)个物品,\(n\)个人,可以有人没有被分到,那么分给这\(n\)个人的方案数为\(n+x-1\choose n-1\)

然后就是分别计算一下就可以了

时间复杂度:\(O(nm)\)

代码

#include <bits/stdc++.h>
#define Mod 1000000007
#define N 2010
using namespace std;
template <typename node> void chkmax(node &x, node y) {x = max(x, y);}
template <typename node> void chkmin(node &x, node y) {x = min(x, y);}
template <typename node> void read(node &x) {x = 0; int f = 1; char c = getchar();while (!isdigit(c)) {if (c == '-') f = -1; c = getchar();}while (isdigit(c)) x = x * 10 + c - '0', c = getchar(); x *= f;
}
int a[N], c[N][N];
int main() {int n, m; read(n), read(m);for (int i = 1; i <= m; i++) read(a[i]);for (int i = 0; i <= 2000; i++) {c[i][0] = 1;for (int j = 1; j <= i; j++) c[i][j] = (c[i - 1][j - 1] + c[i - 1][j]) % Mod;}int ans = 0;for (int i = 0, f = 1; i <= n; i++, f = -f) {int tmp = 1;for (int j = 1; j <= m; j++)tmp = 1ll * tmp * c[n + a[j] - i - 1][n - i - 1] % Mod;ans = ((long long)ans + 1ll * tmp * c[n][i] % Mod * f + Mod) % Mod;}cout << ans << "\n";return 0;
}

转载于:https://www.cnblogs.com/copperoxide/p/9476764.html

bzoj 4710 [Jsoi2011]分特产 组合数学+容斥原理相关推荐

  1. BZOJ 4710 [Jsoi2011]分特产 解题报告

    4710 [Jsoi2011]分特产 题意 给定\(n\)个集合,每个集合有相同的\(a_i\)个元素,不同的集合的元素不同.将所有的元素分给\(m\)个不同位置,要求每个位置至少有一个元素,求分配方 ...

  2. BZOJ 4710: [Jsoi2011]分特产

    传送门 见计数想容斥 发现所有同学至少有一个特产的限制不好搞 考虑设 $F[i]$ 表示 至少 有 $i$ 个同学没有特产的方案数 那么根据容斥原理答案就是 $F[0]-F[1]+F[2]-F[3]. ...

  3. JSOI2011 分特产题解

    [JSOI2011]分特产 题目描述 JYY 带队参加了若干场 ACM/ICPC\text{ACM/ICPC}ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特 ...

  4. 【BZOJ4710】[JSOI2011]分特产(容斥)

    [BZOJ4710]分特产(容斥) 题面 BZOJ 题解 比较简单吧... 设\(f[i]\)表示至多有\(i\)个人拿到东西的方案数. \(f[i]=\prod_{j=1}^m C_{m+i-1}^ ...

  5. 【BZOJ 3294】 3294: [Cqoi2011]放棋子 (DP+组合数学+容斥原理)

    3294: [Cqoi2011]放棋子 Description Input 输入第一行为两个整数n, m, c,即行数.列数和棋子的颜色数.第二行包含c个正整数,即每个颜色的棋子数.所有颜色的棋子总数 ...

  6. 组合数学—容斥原理与鸽巢原理

    目录 一 写在开头 二 容斥原理 三 鸽巢原理 四 Ramsey定理 五 Burnside引理与波利亚定理 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 写在开头 本文内容为<组合数 ...

  7. [JSOI 2011]分特产

    Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望 ...

  8. UVA - 11806 Cheerleaders(组合数学+容斥原理)

    题目链接:点击查看 题目大意:给出一个n*m的矩阵,现在有k个拉拉队员,要求在第一列.最后一列.第一行和最后一行至少有一个拉拉队员,注意以下要求: 四个角上的拉拉队员可以同时属于两条边 每个方格至多只 ...

  9. BZOJ 2440: [中山市选2011]完全平方数 [容斥原理 莫比乌斯函数]

    2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3028  Solved: 1460 [Submit][S ...

最新文章

  1. Google App Engine给我们带来了什么?
  2. python导入excel数据-python + Excel数据读取(更新)
  3. docker,mysql,wordpress搭建个人博客
  4. ASP.NET Core 使用UrlFirewall对请求进行过滤
  5. Flutter State生命周期 Flutter Widget生命周期 Flutter 应用程序生命周期
  6. php 判断中英文冒号,判断字符串是否含有中英文和数字
  7. typec扩展坞hdmi没反应_京造十合一便携扩展坞:桌面好物解决接口匮乏的大问题...
  8. 5、lvs使用进阶(01)
  9. netword localhost与 127.0.0.1 与 ::1 与 0.0.0.0 区别
  10. Mocha BSM产品亮点——SNMP Trap的支持
  11. Android--线程详解
  12. 【测试】对手机拍照测试用例的设计
  13. 智能手机TFT-LCD显示驱动芯片行业现状调研及趋势分析报告
  14. AI能力在智慧养殖应用现状
  15. Event representations with tensor-based compositions笔记
  16. microsoft edge 浏览器添加兼容网址
  17. DRM应用程序进阶 (atomic-crtc)
  18. 联想网御防火墙v3404_联想网御防火墙Power_V命令行操作手册.pdf
  19. Megacli常用命令汇总
  20. Jay陪我们走过的青春10年......也许以后都不会有了

热门文章

  1. 大地坐标的概念 大地坐标系的举例和说明分类
  2. mysql数据库主从同步过程详述(三)
  3. 加密工具和unlocker的使用
  4. 著名作者网站论文下载
  5. 区块链还能赚钱吗 区块链挖矿赚钱吗
  6. 如何在JavaScript中实现链接列表
  7. 如何使用Python和Tkinter构建Toy Markdown编辑器
  8. mysql查询解析过程_MySQL查询执行过程详解
  9. (C++)1027 打印沙漏
  10. CSP 201912-2 回收站选址 python实现+详解