普利斯记号

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

\(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. Nginx 错误日志配置

    1.Nginx错误日志信息介绍: error_log的语法格式及参数说明: error_log      file         level; 关键字    日志文件   错误日志级别 其中,关键字 ...

  2. plsql developer如何查询SQL语句执行历史记录(转)

    相信很多在plsql developer调试oracle的朋友,经常会遇到在plsql developer执行的某一条SQL语句没有保存,那么我们在plsql developer下如何找到我们执行过的 ...

  3. shell基本语法记录

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个 ...

  4. POI生成Web版Word文件

    POI生成Web版Word文件 1       通过URL的输入流实现 2       直接把Html文本写入到Word文件 所谓的使用POI生成Web版Word文件是指利用POI将Html代码插入到 ...

  5. Python解析器

    当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的 ...

  6. IO流_文件切割与合并(带配置信息)

    在切割文件的时候应该生成一个记录文件信息的文件,以便在以后合并文件的时候知道这个文件原来的文件名和记录文件切割完后生成了多少个切割文件 import java.io.File; import java ...

  7. css3 媒体查询常用适配

    @media (max-width:1300px) {} @media (max-width:1080px) {} @media (max-width:799px) {} @media (max-wi ...

  8. 什么是CSS盒模型及利用CSS对HTML元素进行定位的实现(含h5/css3新增属性)

    大家好,很高兴又跟大家见面了!本周更新博主将给大家带来更精彩的HTML5技术分享,通过本周的学习,可实现大部分的网页制作.以下为本次更新内容. 第四章 css盒模型 <!DOCTYPE html ...

  9. dijkstra P4779 【模板】单源最短路径(标准版) 洛谷luogu

    题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路. 然后呢? 100→60 Ag→Cu 最终,他因此没能与理想的大 ...

  10. labellmg使用方法

    https://www.cnblogs.com/Terrypython/p/9577657.html