普利斯记号

以下以“人”代指受条件约束的元素。

\(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的更多相关文章

  1. hdu4059 The Boss on Mars(差分+容斥原理)

    题意: 求小于n (1 ≤ n ≤ 10^8)的数中,与n互质的数的四次方和. 知识点: 差分: 一阶差分: 设  则    为一阶差分. 二阶差分: n阶差分:     且可推出    性质: 1. ...

  2. hdu2848 Visible Trees (容斥原理)

    题意: 给n*m个点(1 ≤ m, n ≤ 1e5),左下角的点为(1,1),右上角的点(n,m),一个人站在(0,0)看这些点.在一条直线上,只能看到最前面的一个点,后面的被档住看不到,求这个人能看 ...

  3. BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 4032  Solved: 1817[Submit] ...

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

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

  5. ACM/ICPC 之 中国剩余定理+容斥原理(HDU5768)

    二进制枚举+容斥原理+中国剩余定理 #include<iostream> #include<cstring> #include<cstdio> #include&l ...

  6. HDU5838 Mountain(状压DP + 容斥原理)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5838 Description Zhu found a map which is a N∗M ...

  7. 【BZOJ-2669】局部极小值 状压DP + 容斥原理

    2669: [cqoi2012]局部极小值 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 561  Solved: 293[Submit][Status ...

  8. HDU 2204Eddy's爱好(容斥原理)

    Eddy's爱好 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  9. CF451E Devu and Flowers (隔板法 容斥原理 Lucas定理 求逆元)

    Codeforces Round #258 (Div. 2) Devu and Flowers E. Devu and Flowers time limit per test 4 seconds me ...

  10. 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表示 ...

随机推荐

  1. Java中选择排序,冒泡排序,插入排序,快速排序

    一:冒泡法排序  //冒泡排序 注:从小到大排   //特点:效率低,实现简单  //思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素. 这只是冒泡排序 ...

  2. IE8以下兼容

    <!--[if lt IE 9]><script type="text/javascript">alert('IE版本太低,请升级后使用');</sc ...

  3. Djando 的 cmd命令

    1.黑窗口命令 安装Django ​ pip install django==1.11.16 -i https://pypi.doubanio.com/simple/ 创建项目 ​ django-ad ...

  4. 解决MySQL Workbench导出乱码问题

    1.导出数据 2.默认CSV格式 3.乱码 4.解决 文件->另存为,会发现编码为UTF-8,正是MySQL表的编码方式.我们选择编码方式为ANSI,保存类型为所有,覆盖源文件

  5. API与软件架构-接口

    http://blog.csdn.net/horkychen/article/details/46612899 从架构设计的角度来看(所谓的组成论),软件系统就是模块和接口. 模块(层次/组件)决定分 ...

  6. Mysql主从同步(复制)(转)

    文章转自:https://www.cnblogs.com/kylinlin/p/5258719.html 目录: mysql主从同步定义 主从同步机制 配置主从同步 配置主服务器 配置从服务器 使用主 ...

  7. (转)清除已运行过Rancher和K8S的主机上的环境数据

    文章转自 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571?locationNum=5&fps=1 本文命令主要是参考 ...

  8. PAT A1112 Stucked Keyboard (20 分)——字符串

    On a broken keyboard, some of the keys are always stucked. So when you type some sentences, the char ...

  9. 栈(stack)信息

    栈在JVM虚拟机中是线程的一块私有空间,比如存储函数的调用信息.局部变量等 特性 先进后出和后进先出即FIFO 借用网络的一个图,感觉看完就可以了解了 最先调用的函数压入栈低,最后压入得函数在栈顶,函 ...

  10. Selenium:WebDriver简介及元素定位

    参考内容:官方API文档,下载链接:http://download.csdn.net/detail/kwgkwg001/4004500 虫师:<selenium2自动化测试实战-基于python ...