容斥原理I
普利斯记号
以下以“人”代指受条件约束的元素。
\(K(x)\)表示刚好\(x\)人满足条件的方案数。
\(S(x)\)表示至少\(x\)人满足条件的方案数。
\(C(x)\)表示任选\(x\)人满足条件,其他人任意的方案数。
则显然有\(S(0)=C(0)=K(0)+S(1)=所有人任意的方案数\)。
注意\(S\)与\(C\)的不同处。比如大小为\(3\)的集合,条件为选择其子集,则\(S(1)=7\),但\(C(1)=12\)。
容斥原理
\[K(0)=\sum_{i=0}^n(-1)^iC(i)\]
也就是小学生的容斥。一般的组合类的容斥题都可以用这个解。
\(C(x)\)的计算一般是先乘\(C_n^x\),表示任选\(x\)人,然后乘上\(x\)人满足条件的方案数,再乘上\(n-x\)人任意选的方案数。
注意:这种容斥原理要求人是无差别的。若人与人不同,则用\(2^n\)的容斥。
解题
容斥原理可以将问题转换为其补问题。如\(C\)的计算里所讲,事实上我们要算的由“所有人不满足条件的方案数”变成了“\(x\)人满足条件的方案数”。同时,满足条件比不满足条件好算得多。于是问题就变得简单。
错排问题
求满足\(p(i)\ne i\)的长度为\(n\)的排列数。
考虑随便选,这样有人就会\(i=p(i)\)。于是我们把\(i=p(i)\)作为限制条件,要求的就是\(K(0)\)。
由容斥原理,考虑计算\(C(x)\)。显然\(C(x)=C_n^x\times 1\times(n-x)!\)。(对着上面看)
于是答案就是\(\sum_{i=0}^n(-1)^iC_n^i(n-i)!\)。
BZOJ2839 集合计数
求在有\(n\)个元素的集合中,选若干个不同子集使它们的交的大小为\(k\)的方案数。
这个条件等价于先任选\(k\)个放好,认为它们是交,于是就变成要求剩下的\(n-k\)个选子集交为空。考虑限制条件为交集,则答案为\(K(0)\)。
计算\(C(x)\)就是先任选\(x\)个元素认为是交,其它的集合随便选。于是\(C(x)=C_n^x\cdot 2^{2^{n-x}}\)。
BZOJ4710 JSOI2011 分特产
题面见OJ。
考虑乱分特产,不合题意的情况是有人没分到特产。于是设限制条件为没分到特产。答案为\(K(0)\)。
计算\(C(x)\)就是在剩下的\(n-x\)个人里面用隔板法。
容斥原理I的更多相关文章
- hdu4059 The Boss on Mars(差分+容斥原理)
题意: 求小于n (1 ≤ n ≤ 10^8)的数中,与n互质的数的四次方和. 知识点: 差分: 一阶差分: 设 则 为一阶差分. 二阶差分: n阶差分: 且可推出 性质: 1. ...
- hdu2848 Visible Trees (容斥原理)
题意: 给n*m个点(1 ≤ m, n ≤ 1e5),左下角的点为(1,1),右上角的点(n,m),一个人站在(0,0)看这些点.在一条直线上,只能看到最前面的一个点,后面的被档住看不到,求这个人能看 ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 4032 Solved: 1817[Submit] ...
- BZOJ 2440: [中山市选2011]完全平方数 [容斥原理 莫比乌斯函数]
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3028 Solved: 1460[Submit][Sta ...
- ACM/ICPC 之 中国剩余定理+容斥原理(HDU5768)
二进制枚举+容斥原理+中国剩余定理 #include<iostream> #include<cstring> #include<cstdio> #include&l ...
- HDU5838 Mountain(状压DP + 容斥原理)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5838 Description Zhu found a map which is a N∗M ...
- 【BZOJ-2669】局部极小值 状压DP + 容斥原理
2669: [cqoi2012]局部极小值 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 561 Solved: 293[Submit][Status ...
- HDU 2204Eddy's爱好(容斥原理)
Eddy's爱好 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Sta ...
- CF451E Devu and Flowers (隔板法 容斥原理 Lucas定理 求逆元)
Codeforces Round #258 (Div. 2) Devu and Flowers E. Devu and Flowers time limit per test 4 seconds me ...
- HDU 4336 容斥原理 || 状压DP
状压DP :F(S)=Sum*F(S)+p(x1)*F(S^(1<<x1))+p(x2)*F(S^(1<<x2))...+1; F(S)表示取状态为S的牌的期望次数,Sum表示 ...
随机推荐
- Java中选择排序,冒泡排序,插入排序,快速排序
一:冒泡法排序 //冒泡排序 注:从小到大排 //特点:效率低,实现简单 //思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素. 这只是冒泡排序 ...
- IE8以下兼容
<!--[if lt IE 9]><script type="text/javascript">alert('IE版本太低,请升级后使用');</sc ...
- Djando 的 cmd命令
1.黑窗口命令 安装Django pip install django==1.11.16 -i https://pypi.doubanio.com/simple/ 创建项目 django-ad ...
- 解决MySQL Workbench导出乱码问题
1.导出数据 2.默认CSV格式 3.乱码 4.解决 文件->另存为,会发现编码为UTF-8,正是MySQL表的编码方式.我们选择编码方式为ANSI,保存类型为所有,覆盖源文件
- API与软件架构-接口
http://blog.csdn.net/horkychen/article/details/46612899 从架构设计的角度来看(所谓的组成论),软件系统就是模块和接口. 模块(层次/组件)决定分 ...
- Mysql主从同步(复制)(转)
文章转自:https://www.cnblogs.com/kylinlin/p/5258719.html 目录: mysql主从同步定义 主从同步机制 配置主从同步 配置主服务器 配置从服务器 使用主 ...
- (转)清除已运行过Rancher和K8S的主机上的环境数据
文章转自 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571?locationNum=5&fps=1 本文命令主要是参考 ...
- PAT A1112 Stucked Keyboard (20 分)——字符串
On a broken keyboard, some of the keys are always stucked. So when you type some sentences, the char ...
- 栈(stack)信息
栈在JVM虚拟机中是线程的一块私有空间,比如存储函数的调用信息.局部变量等 特性 先进后出和后进先出即FIFO 借用网络的一个图,感觉看完就可以了解了 最先调用的函数压入栈低,最后压入得函数在栈顶,函 ...
- Selenium:WebDriver简介及元素定位
参考内容:官方API文档,下载链接:http://download.csdn.net/detail/kwgkwg001/4004500 虫师:<selenium2自动化测试实战-基于python ...