首页 > 其他分享 >容斥原理

容斥原理

时间:2023-01-19 14:00:31浏览次数:62  
标签:cup 交集 cap 容斥 集合 原理 式子

这个东西需要由数学中的集合引入

\(S_1=\{1,2,3,4\}\) \(S_2=\{2,4,5\}\)

求\(S_1\cup S_2\) 的大小

根据我们高中的知识很容易可以知道\(S_1\cup S_2\) 的大小是\(5\)

那究竟是怎么来的呢

我们可以推出这样一个式子:|\(S_1\cup S_2\)| = |\(S_1\)|+|\(S_2\)|-|\(S_1\cap S_2\)|

那如果是三个集合求交集呢

\(S_1=\{1,2,3,4\}\) \(S_2=\{2,4,5\}\) \(S_3=\{4,5,6\}\)

通过观察法我们很容易知道 |\(S_1\cup S_2\cup S_3\)| \(=\) \(6\)

那如果用式子推导呢

我们试着套用一下上面的式子

\(6=\)|\(S_1\cup S_2\cup S_3\)| \(\neq\) |\(S_1\)|+|\(S_2\)|+|\(S_3\)|-|\(S_1\cap S_2\)|-|\(S_1\cap S_3\)|-|\(S_2\cap S_3\)|\(=5\)

我们观察可以发现\(S_1\cap S_2\cap S_3\)这一部分是被加了三次被减了三次的

所以我们就需要将其加回来

最终的公式为

|\(S_1\cup S_2\cup S_3\)| = |\(S_1\)|+|\(S_2\)|+|\(S_3\)|-|\(S_1\cap S_2\)|-|\(S_1\cap S_3\)|-|\(S_2\cap S_3\)|+|\(S_1\cap S_2\cap S_3\)|

通过观察我们可以发现并集的大小是奇数个集合的交集减去偶数个集合的交集

通过推导我们发现后面的集合都符合这个规律

记\(S_i\)为\(1-n\) 中能整除\(p_i\)的集合,那么根据容斥原理, 所有数的个数为各个集合的并集,计算公式如下
\(⋃_{i=1}^{m}S_i=S_1+S_2+…+S_m−(S_1⋂S_2+S_1⋂S_3+…+S_{m−1}⋂S_m)+\)
\((S_1⋂S_2⋂S_3+…+S_{m−2}⋂S_{m−1}⋂S_m)+…+(−1)^{m−1}(⋂_{i=1}^{m}S)\)

以上就是容斥原理

习题:

890. 能被整除的数 - AcWing题库

标签:cup,交集,cap,容斥,集合,原理,式子
From: https://www.cnblogs.com/liangqianxing/p/17061391.html

相关文章

  • 学习笔记——SpringMVC简介;SpringMVC处理请求原理简图;SpringMVC搭建框架
    2023-01-19一、SpringMVC简介1、SpringMVC是Spring子框架2、SpringMVC是Spring为“控制层”提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架。3、SpringMV......
  • 【反向代理】超全Nginx原理+实战篇
    文章目录​​1.Nginx简介和安装部署​​​​1.1.什么是Nginx​​​​1.2.Nginx的用途​​​​1.3.正向代理服务器​​​​1.4.反向代理服务器​​​​1.5.nginx安装部署​​......
  • UE4/UE5 动画的原理和性能优化
    动画在UE4/UE5项目中,往往不仅是GPU和渲染线程开销大户,也是游戏线程的开销大户。按照我的经验,大型游戏项目(尤其是手游)做到中后期,整个项目优化工作做得差不多的时候,你应该也......
  • FMC子卡设计资料原理图:FMC177-基于AD9361的双收双发射频FMC子卡
    FMC177-基于AD9361的双收双发射频FMC子卡     一、板卡介绍       FMC177射频模块分别包含两个接收通道与发射通道,其频率可覆盖达到70MHz......
  • 《RPC实战与核心原理》学习笔记Day2
    02|协议:怎么设计可扩展且向后兼容的协议?我们为什么需要使用协议?在网络通信的过程中,为了避免语义不一致的情况,我们需要在发送请求时设定一个边界,然后再收到请求时按照......
  • ZROJ369 Tiny Counting - 容斥 - 树状数组 -
    题目链接:http://zhengruioi.com/contest/101/problem/369题解:枚举\(i\),表示钦定了\(b\)或者\(d\)位于\(i\)处不妨设是\(b\)位于\(i\)处,\(d\)同理\(a\)......
  • ThrealLocal原理讲解
    ThrealLocal是面试中的一个重点,所以掌握好这部分知识点至关重要的。你可能会用到的链接:​ThreadLocal源码分析​​Java的强、软、弱、虚四种引用类型文章目录​​1、Thread......
  • react,vue中的key有什么作用?(key的内部原理)
    1.虚拟DOM中的key的作用:key是虚拟dom对象的标识,当状态中的数据发生变化时,vue会根据新数据生成新的虚拟dom,随后vue进行新的虚拟dom与旧的虚拟dom的差异比较。2.比较规则(1......
  • 初探attention—attention原理和代码详解
    attention在正式开始探索attention之前,首先了解一下seq2seq。循环神经网络只能将一个序列信号转换为定长输出,但Seq2Seq可以实现一个序列信号转化成一个不定长的序列输出,因......
  • 《ClickHouse原理解析与应用实践》关于P239[分片规则]错误的地方
     《ClickHouse原理解析与应用实践》关于P239[分片规则]错误的地方 快过年了,坚守到最后一天。刚好开发有新的想法,需要用到ReplacingMergeTree引擎实现去重或删除数据......