2019金华随团旅游Day3

转眼间就已经在这里旅游了三天了,离死亡的感觉越来越真实,所谓活下去或许只是虚妄渺茫的幻想吧。
跳过伤感,我们看看今天有什么好看的。

容斥原理

这个东西它比较普及,大家大概都是知道名字的,当然包括我,大家大概也都是会了的,当然除了我,我除了名字啥都不知道。

是个啥:这是一个原理(屁话)用于处理问题时对有重复或是多余部分进行处理以求出答案。
其思想可由韦恩图较好的展现,下面给出一个简单的韦恩图
下面请允许我复制粘贴其基本操作流程列出题⽬中的n个条件。

  1. 求满⾜这n个条件中每⼀个的⽅案的个数。
  2. 枚举这些条件的所有2^n个集合。
  3. 考虑⼀个集合x,令不满⾜x中所有条件的⽅案有A个。
  4. 如果x的⼤⼩是奇数,给答案减去A,不然给答案加上A。

下面我们利用这个搞搞欧拉函数的证明。
欧拉函数 ϕ ( n ) \phi(n) ϕ(n)是指1-n中与n互质的数的个数。
对于每个n可以拆成以下格式: p 1 e 1 × p 2 e 2 × . . . × p k e k p_1^{e_1}\times p_2^{e_2}\times ...\times p_k^{e_k} p1e1×p2e2×...×pkek
我们设 s i s_i si为在n内 p i p_i pi的倍数构成的集合。
我们需要的答案是 n − ∣ ⋃ i = 1 k s i ∣ n-\left|\bigcup_{i=1}^ks_i \right| ni=1ksi
我们不难推出
n − ∣ ⋃ i = 1 k s i ∣ = n − ∑ T ⊆ n ( − 1 ) ∣ T ∣ − 1 ∣ ⋂ i ∈ T s i ∣ n-\left|\bigcup_{i=1}^ks_i \right|=n-\sum_{T_\subseteq n}(-1)^{|T|-1}\left|\bigcap_{i\in T}s_i\right| ni=1ksi=nTn(1)T1iTsi
所以我们不难推出,原式可化简为:
ϕ ( n ) = n − ∑ T ⊆ n ( − 1 ) ∣ T ∣ − 1 n ∏ i ∈ T p i \phi(n)=n-\sum_{T\subseteq n}(-1)^{|T|-1}\frac{n}{\prod_{i\in T}p_i} ϕ(n)=nTn(1)T1iTpin
提取公因数:
ϕ ( n ) = n × ( 1 − ∑ T ⊆ n ( − 1 ) ∣ T ∣ − 1 1 ∏ i ∈ T p i ) \phi(n)=n\times(1-\sum_{T\subseteq n}(-1)^{|T|-1}\frac{1}{\prod_{i\in T}p_i}) ϕ(n)=n×(1Tn(1)T1iTpi1)
然后就分配一下,就得到了我们常见的欧拉函数:
ϕ ( n ) = n ∑ i = 1 k ( 1 − p i ) \phi(n)=n\sum_{i=1}^k(1-p_i) ϕ(n)=ni=1k(1pi)
所以我们大概就完成了欧拉函数的证明。
于是我就不会剩下关于容斥原理的内容了。

补集思想

这是关于容斥原理重要思想,是正难则反的体现。
一般可以概括为:满⾜条件的=全部的-不满⾜条件的。
容斥原理可以看成补集思想的一部分。
利用此思想对问题进行转化,可以使问题简单化,让生活更快乐。

Min-Max容斥

这是容斥原理的一个冷门知识点,就是通过对一个集合中的min和max进行转化以求出其值,设定集合为S,一般可以参照以下式子:
max ⁡ ( S ) = ∑ T ⊆ S ( − 1 ) ∣ T ∣ + 1 min ⁡ ( T ) \max(S)=\sum_{T \subseteq S}(-1)^{|T|+1}\min(T) max(S)=TS(1)T+1min(T)
当然你也可以互换Min和Max的位置,这样我们就完成了Min和Max的转化。
它有什么用呢?
这当然是与题目有关,假设我们能很轻松地求出任意集合的Min(S) 但是我们不会(或者很难)求出任意集合的 Max(S) 。
而Min-Max容斥最常用的方式还是在计算期望的时候。
上述转换Min-Max的式子在期望下也成立,即满足期望线性性。换成式子就是:
E ( max ⁡ ( S ) ) = ∑ T ⊆ S ( − 1 ) ∣ T ∣ + 1 E ( min ⁡ ( T ) ) E(\max(S))=\sum_{T \subseteq S}(-1)^{|T|+1}E(\min(T)) E(max(S))=TS(1)T+1E(min(T))
然后我们就可以计算了。
是时候草草的结尾了。
END.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值