2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 883  Solved: 490[Submit][Status][Discuss] Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Inp…
集合计数 内存限制:128 MiB 时间限制:1000 ms 标准输入输出     题目描述 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) 输入格式 一行两个整数N,K 输出格式 一行为答案. 样例 样例输入 3 2 样例输出 6 数据范围与提示 样例说明 假设原集合为{A,B,C} 则满足条件的方案为:{AB,ABC},{AC,ABC},{BC,AB…
题目 一个有 \(N\) 个 元素的集合有 \(2^N\) 个不同子集(包含空集), 现在要在这 \(2^N\) 个集合中取出若干集合(至少一个), 使得它们的交集的元素个数为 \(K\) ,求取法的方案数,答案模 \(1000000007\) . \((1 \le N \le 10^6, 0 \le K \le N)\) 题解 又是一道 裸的 广义容斥定理 还没这道题难qwq 广义容斥定理 (二项式反演) : \[\displaystyle b_k = \sum_{i=k}^n \binom…
[BZOJ2839]集合计数(容斥,动态规划) 题面 BZOJ 权限题 Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Input 3 2 Sample Output 6 题解 比较简单的容斥吧.. 设\(f[i]\)表示至少有\(i\)个相同元素的方案数…
[BZOJ2839]集合计数 Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Input 3 2 Sample Output 6 HINT [样例说明]假设原集合为{A,B,C}则满足条件的方案为:{AB,ABC},{AC,ABC},{BC,ABC},{AB…
在一个 $N$ 个元素集合中的所有子集中选择若干个,且交集大小为 $k$ 的方案数. 按照之前的套路,令 $f[k]$ 表示钦定交集大小为 $k$,其余随便选的方案数. 令 $g[k]$ 表示交集恰好为 $k$ 的方案数. 则有 $f[k]=\sum_{i=k}^{n}\binom{i}{k}g[k]$,反演得 $g[k]=\sum_{i=k}^{n}(-1)^{i-k}\binom{i}{k}f[i]$ 而 $f[k]=\binom{n}{k}2^{2^{n-k}}$,直接带入求值即可. co…
Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Input 3 2 Sample Output 6 HINT [样例说明] 假设原集合为{A,B,C} 则满足条件的方案为:{AB,ABC},{AC,ABC},{BC,ABC},{AB},{AC},{BC} […
题目传送门 题目描述 .(是质数喔~) 输入格式 一行两个整数N,K. 输出格式 一行为答案. 样例 样例输入: 3 2 样例输出: 样例说明 假设原集合为{A,B,C} 则满足条件的方案为:{AB,ABC},{AC,ABC},{BC,ABC},{AB},{AC},{BC} 数据范围与提示 对于100%的数据,1≤N≤16:0≤K≤N: 题解 我也不知道为什么看到这道题就像到了组合数学和容斥,别问我为什么. 好叭-既然你这么可爱……那就…… 其实,我感觉叭……这种什么什么集合的题,要是你一秒想不…
2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 523  Solved: 287[Submit][Status][Discuss] Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Inp…
题目描述(权限题qwq) 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) 输入格式 一行两个整数N,K 输出格式 一行为答案 样例输入: 3 2 样例输出: 6 因为集合中的元素是无序的,所以我们随便选\(k\)个作为交集,最后把答案乘上\(\begin{pmatrix}n\\ k\end{pmatrix}\)就好了.选出来\(k\)个之后,问题转化为…
集合计数 题目描述 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) 输入格式 一行两个整数N,K 输出格式 一行为答案. 样例 样例输入 3 2 样例输出 6 数据范围与提示 样例说明 假设原集合为{A,B,C} 则满足条件的方案为:{AB,ABC},{AC,ABC},{BC,ABC},{AB},{AC},{BC} 数据说明 对于100%的数据,1≤N≤…
题目大意 定义一个序列的权值为:把所有相邻的相同的数合并为一个集合后,所有集合的大小的乘积. 特别的,第一个数和最后一个数是相邻的. 现在你有 \(n\) 种数,第 \(i\) 种有 \(c_i\) 个.求所有不同的序列的权值的和. \(n\leq 50,c_i\leq 100\) 题解 考虑第一个数和最后一个数不相邻时怎么做. 记 \(g_{i,j}\) 为出现了 \(i\) 次的数分成 \(j\) 个集合,所有集合大小的乘积的和. \[ g_{i,j}=\sum_{k=1}^ig_{i-k,…
题意: 析:首先很容易可以看出来使用FFT是能够做的,但是时间上一定会TLE的,可以使用公式化简,最后能够化简到最简单的模式. 其实考虑使用组合数学,如果这个 xi 没有限制,那么就是求 x1 + x2 + x3 +... xm = k,有多少非零解,隔板法很容易得到答案 C(k+m-1, m-1),但是有限制怎么办,使用容斥,考虑有一个变量超过 n-1,两个变量超过 n-1,等等,根据集合论,很容易知道偶加,奇减... 代码如下: #pragma comment(linker, "/STACK…
传送门 题意简述:对于一个有N个元素的集合在其2^N个子集中取出若干集合(至少一个),使得它们的交集的元素个数为K,求取法的方案数. 思路:考虑枚举相交的是哪kkk个,有CnkC_n^kCnk​种方案,然后考虑剩下的可选可不选一共有22n−k2^{2^{n-k}}22n−k种选法,但是这样选出来的集合可能有其余的数相交,因此我们容斥掉多余的: ans=Cnk∗∑i=0n−kCni22n−k−ians=C_n^k*\sum_{i=0}^{n-k}C_n^i2^{2^{n-k-i}}ans=Cnk​…
题目传送门(内部题138) 输入格式 输入数据第一行为两个整数$d,n$. 第二行$d$个非负整数$a_1,a_2,...,a_d$.     接下来$n$行,每行$d$个整数,表示一个坏点的坐标.数据保证坏点在网络范围内,且不会是点$A$或点$B$. 输出格式 一个整数,为从点$A$移动到点$B$的不同的路径数对$10^9+7$取模后的值. 样例 样例输入: 2 12 11 0 样例输出: 数据范围与提示 题解 先来考虑$n=0$的情况,利用组合数学,答案就是: $$ans=(\sum\lim…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2839 题解 二项式反演板子题. 类似于一般的容斥,我们发现恰好 \(k\) 个不怎么好求,但是至少 \(k\) 个还是很好求的. 考虑固定 \(k\) 个数必须存在,然后剩下的 \(n-k\) 个数的集合的子集中随意选择(不能不选),所以至少 \(k\) 个的方案就是 \(\binom nk (2^{2^{n-k}}-1)\). 令 \(f(k)\) 表示钦定了至少 \(k\) 个的方案,\…
题目描述 同 Comb Avoiding Trees 不过只用求一项. \(n,k\leq {10}^7\) 题解 不难发现一棵 \(n\) 个叶子的树唯一对应了一个长度为 \(2n-2\) 的括号序列. 往左儿子走对应加一个左括号,退到上一个只有左儿子的点,往右儿子走对应加一个右括号,那么合法的树一定满足:每一个前缀中左括号数量 \(-\) 右括号数量 \(<m-1\). 求括号序列个数有一种容斥做法:把左括号视为 \(1\),把右括号视为 \(-1\).用总方案数减掉走到 \(-1\) 的方…
F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ ModifyUser  Logout 捐赠本站 2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 854  Solved: 470 Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模…
传送门 题意简述:你要从(0,0)(0,0)(0,0)走到(ex,ey)(ex,ey)(ex,ey),每次可以从(x,y)(x,y)(x,y)走到(x+ax,y+ay)(x+ax,y+ay)(x+ax,y+ay)或者(x+bx,y+by)(x+bx,y+by)(x+bx,y+by),其中有nnn个障碍点问方案数,所有出现的值的绝对值≤500\le500≤500 思路:从(0,0)(0,0)(0,0)到每个障碍点需要用几次(x+ax,y+ay)(x+ax,y+ay)(x+ax,y+ay)和几次(x…
题意 题目链接 分析 先考虑没有障碍怎么做,定义 f(i,j,k) 每一维走了 i,j,k 位的方案数,转移乘个组合数即可. 现在多了一些障碍,考虑容斥.实际我们走过的点都有严格的大小关系,所以先把所有障碍点按维度排序,然后定义 g(i,j) 表示走到 i 这个障碍点,走了 j 个障碍点的方案数,利用 f 转移.实际第二维在转移时乘以-1就可以忽略. 复杂度 \(O(o^2)\) 开始写的刷表发现有问题,因为刷表时的所有状态都和 (n,m,r) 有关,所以中间的状态不能表示和终态一样的意义. 代…
Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望任 何一个同学因为没有拿到特产而感到失落,所以每个同学都必须至少分得一个特产. 例如,JYY 带来了2 袋麻花和1 袋包子,分给A 和B 两位同学,那么共有4 种不同的 分配方法: A:麻花,B:麻花.包子 A:麻花.麻花,B:包子 A:包子,B:麻花.麻花 A:麻花.包子,B:麻花 Input 输…
Character Encoding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1473    Accepted Submission(s): 546 Problem Description In computer science, a character is a letter, a digit, a punctuation…
题目大意:给你$n$个箱子,每个箱子里有$a_{i}$个花,你最多取$s$个花,求所有取花的方案,$n<=20$,$s<=1e14$,$a_{i}<=1e12$ 容斥入门题目 把取花想象成往箱子里放花,不能超过箱子上限 $n$很小,考虑状压 如果去掉$a_{i}$的限制,我们取物品的方案数是$C_{s+n-1}^{n-1}$,可以想象成$s+n-1$个小球,我们取出$n-1$个隔板,分隔出来的其他$n$个部分就是每个箱子里花的数量 但这样会算入不合法的方案,我们需要再去掉不合法的方案 假…
[CQOI2014]数三角形 题解(数论+容斥) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1328780 链接题目地址:洛谷P3166 BZOJ 3505 思想还是很巧妙的...(对于我这种菜鸡) 理解题意 首先它说\(n×m\)的网格,实际上是有\((n+1)×(m+1)\)个点来放三角形的顶点 然后就是算三角形的个数 怎么做 PS:以下所讲的所有\(n\)都是\(n+1\),\(m\)也是 可以用\(\dbinom{n×m}{3}\)算出网格中…
题目传送门(内部题8) 输入格式 一行三个整数$n,m,k$. 输出格式 一行一个整数表示答案.对$998244353$取模. 样例 样例输入 3 7 3 样例输出 数据范围与提示 对于10%的数据,$1\leqslant n,m,k\leqslant 10$.对于40%的数据,$1\leqslant n,m,k\leqslant 1,000$.对于70%的数据,$1\leqslant n,m,k\leqslant {10}^5$.对于100%的数据,$1\leqslant n\leqslant…
正题 题目链接:https://www.luogu.com.cn/problem/P6076 题目大意 给出\(n*m\)的网格,\(c\)种颜色涂色要求 每个格子可以染色也可以不染 每一行每一列至少有一个格子被染 每个颜色至少用一次 \(1\leq n,m,c\leq 400\) 解题思路 一个比较简单的方法就是容斥,枚举有多少染色的和不染色的行列,和枚举使用的颜色个数 \[\sum_{i=0}^c\sum_{j=0}^n\sum_{k=0}^m\binom{c}{i}\binom nj\bi…
Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Input 3 2 Sample Output 6 HINT [样例说明] 假设原集合为{A,B,C} 则满足条件的方案为:{AB,ABC},{AC,ABC},{BC,ABC},{AB},{AC},{BC}…
题目描述 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) 题解 假设我们已经确定了这k个元素都是谁,最后再乘上C(n,k)就可以了. 根据容斥原理(二项式反演)可知,答案为选出至少k个的方案数-选出至少k+1个的方案数+选出至少k+2个的方案数... 如何求选出至少x个的方案数,考虑有多少种集合包含x个元素,答案是2n-x(相当于我们已经确定了x个元素…
题意: q个询问,每一个询问给出2个数sum,n 1 <= q <= 10^5, 1 <= n <= sum <= 10^5 对于每一个询问,求满足下列条件的数组的方案数 1.数组有n个元素,ai >= 1 2.sigma(ai) = sum 3.gcd(ai) = 1 solution: 这道题的做法类似bzoj2005能量采集 f(d) 表示gcd(ai) = d 的方案数 h(d) 表示d|gcd(ai)的方案数 令ai = bi * d 则有sigma(bi)…
题意 题目链接 分析 sπo yyb 代码 #include<bits/stdc++.h> using namespace std; typedef long long LL; #define go(u) for(int i = head[u], v = e[i].to; i; i=e[i].lst, v=e[i].to) #define rep(i, a, b) for(int i = a; i <= b; ++i) #define pb push_back #define re(x)…