容斥原理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表示 ...
随机推荐
- Django框架的使用教程--mysql数据库[三]
Django的数据库 1.在Django_test下的view.py里面model定义模型 from django.db import models # Create your models here ...
- centos7系统下hostname解析
hostnamectl 是在 centos7以上版本 中新增加的命令,它是用来修改主机名称的,centos7 修改主机名称会比以往容易许多. 首先了解下这个命令 # hostnamectl -h -h ...
- January 17th, 2018 Week 03rd Wednesday
Don't let go too soon, but don't hold on too long. 不要太快放手,也别紧握太久. It is inevitalbe to encounter with ...
- 兼容IE8及以上的常用css选择器
p~ul//位于p元素后边的ul div>p div+p//紧接在 <div> 元素之后的所有 <p> 元素 [attribute]//[target]选择带有 targ ...
- Sql Server 数据库作业备份
DECLARE @fileName nvarchar(100) SET @fileName='C:\DataBase_Back\Base' + REPLACE(REPLACE(REPLACE(REPL ...
- 转://oracle 11G+ASM for Linux手工建库
环境描述 环境:Oracle Linux 6.5 + ORACLE 11g R2+ASM ORACLE的程序已经安装完毕.但是没有创建任何数据库. 实验内容 安装ORACLE11g数据库,不使用DBC ...
- A - Dogs and Cages HDU - 6243(组合数学)
题意:在1—n的数字,放入编号为1—n的框中,每个框只放一个数字,问数字与所放的框的编号不同的个数的期望值. 思路:在1—n中任选一个数字,设为k 那么 k 排到非k编号的框中的方案数为 n!-(n- ...
- linux 报错Mysql.pid 文件不存在导致service Mysqld start 失败
Mysql.pid 文件不存在导致service Mysqld start 失败 1. 到提示报错的mysql.pid 不存在的目录下 使用 touch 命令创建mysql.pid文件. t ...
- python +百度语音识别+图灵对话
https://github.com/Dongvdong/python_Smartvoice 上电后,只要周围声音超过 2000,开始录音5S 录音上传百度识别,并返回结果文字输出 继续等待,周围声音 ...
- day04--流程控制之if
编程的目的是让计算机像人脑一样工作,因此就需要让计算机具备人脑一样的逻辑思维,这里就需要用到计算机语言的流程控制: 流程控制之if......else 语法1: if 条件: 代码块 # 一组代码块的 ...