2839: 集合计数 题意:n个元素的集合,选出若干子集使得交集大小为k,求方案数 先选出k个\(\binom{n}{k}\),剩下选出一些集合交集为空集 考虑容斥 \[ 交集为\emptyset = 任意选的方案数-交集\ge 1 的方案数+交集\ge 2的方案数-... \] 交集\(\ge i\)就是说先选出i个元素在交集里,剩下的元素的集合任选 那么就是 \[ \sum_{i=0}^n \binom{n}{i}(2^{2^{n-i}}-1) \] 组合数直接推阶乘和逆元 后面的\(2^{…
2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 229  Solved: 120[Submit][Status][Discuss] Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Inp…
因为要在n个里面选k个,所以我们先枚举选的是哪$k$个,方案数为$C_{n}^k$ 确定选哪k个之后就需要算出集合交集正为好这$k$个的方案数,考虑用容斥原理. 我们还剩下$n-k$个元素,交集至少为$k$的方案数为$2^{2^{n-k}}$. 相当于在仅有剩下$n-k$个元素的集合里随便选,最后再往每个集合里塞进这$k$个元素. 然后就是很简单的容斥了. 减去交集至少为k加上其他一个元素的方案数,加上交集至少为k加上其他两个元素的方案数... $$ans=C_{n}^k\times(2^{2^…
权限题 根据广义容斥的套路就很好做了 设\(g_i\)表示交集至少有\(i\)个元素,\(f_i\)表示交集恰好有\(i\)个元素 显然有 \[g_i=\sum_{j=i}^n\binom{j}{i}f_j\] 二项式反演可得 \[f_i=\sum_{j=i}^n(-1)^{j-i}\binom{j}{i}g_j\] 我们求得就是\(f_k\) 我们考虑\(g\)如何求 我们先从\(n\)个元素里选择\(j\)个元素作为我们的交集,这里是\(\binom{n}{j}\),之后对于剩下的\(n-j…
4517: [Sdoi2016]排列计数 题意:多组询问,n的全排列中恰好m个不是错排的有多少个 容斥原理强行推♂倒她 $恰好m个不是错排 $ \[ =\ \ge m个不是错排 - \ge m+1个不是错排\binom{m+1}{m} - \ge m+2个不是错排\binom{m+2}{m}... \\ = \sum_{i=m}^n \binom{n}{i} (n-i)!\binom{i}{m} \\ = \frac{n!}{m!} \sum_{i=m}^n (-1)^{i-m} \frac{1…
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}…
2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 399  Solved: 217 Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Input 3 2 Sample Output 6 HI…
BZOJ 2839: 集合计数 Description 一个有\(N\)个元素的集合有\(2^N\)个不同子集(包含空集),现在要在这\(2^N\)个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为\(K\),求取法的方案数,答案模\(1000000007\). Input 一行两个整数\(N,K\) Output 一行为答案. HINK 对于\(100\%\)的数据,\(1≤N≤1000000,0≤K≤N\): 设交集拥有元素集合\(S\)的取法方案数为\(f(S)\),有 \[…
2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 495  Solved: 271[Submit][Status][Discuss] Description 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007.(是质数喔~) Input 一行两个整数N,K Output 一行为答案. Sample Inp…
LINK:集合计数 容斥简单题 却引出我对广义容斥的深思. 一直以来我都不理解广义容斥是为什么 在什么情况下使用. 给一张图: 这张图想要表达的意思就是这道题目的意思 而求的东西也和题目一致. 特点:求出某个集合恰好为k的个数. 转换:求出集合>=k的个数或者<=k的个数 从而使用广义容斥容斥出来答案. 关于>=k个数 如上图可见 又很多重复的地方 而广义容斥也是在这么多重复的地方使用的 而并非严格>=k的个数. 换个说法 >=k的方案数 可能有一些存在重复 但是其特点是&g…