容斥原理

今天看《算法竞赛进阶指南》,刚好看到了容斥原理一章,所以就和大家说一下我对容斥原理的理解:

容斥原理是一种人们为了可以不遗漏,不重复发明的新计数方法。

基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去

比如下面这张图:
图片说明

先把A、B、C集合加起来,再去掉A∩B ,B∩C ,A∩C 和 A∩B∩C的。

这是容斥原理的计算公式:
图片说明

先把全部加在一起,去掉两个集合重复的,去掉三个集合重复的,一直下去,就会得到结果

还有推荐练习题:
https://ac.nowcoder.com/acm/contest/1027/A
这道题利用了容斥原理的思想,不过还需要加一个定理,就是卢卡斯定理。

下篇详细介绍......

全部评论

相关推荐

陈生6:不可以全是stm32哦,太没档次了。上次来我们学校校招的上来就要求升腾芯片什么的喵。stm32,穷小子高攀不上了喵
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务