容斥原理

容斥原理指的是一种排重,补漏的计算思想,形式化的来说,我们有如下公式:
\[\left | \bigcup_{i=1}^nS_i \right |=\sum_{i}|S_i|-\sum_{i,j}|S_i\cap S_j|+...+(-1)^{n-1}\left | \bigcap_{i=1}^nS_i \right |\]

设\(P=\{1,2,...,n\}\),则容斥原理还有如下表现形式:
\[\left | \bigcup_{i=1}^nS_i \right |=\sum_{T\subseteq P}(-1)^{|T|-1}\left | \bigcap_{i\in T} S_i \right |\]

运用典型

容斥原理在很多计数题中都得到了很好的运用,最经典的就是欧拉函数计算式的推导。

定理:设\(n=p_1^{a_1}\times p_2^{a_2}\times ...\times p_k^{a_k}\),则有\(\phi(n)=n\times \sum_{i=1}^k(1-\frac{1}{p_i})\)。

证明:
\(\phi(n)\)的定义为\(1-n\)的整数中与\(n\)互质的数的个数,于是所有\(p_1,p_2,...,p_k\)的倍数都不符合要求。设\(S_i\)代表\(1-n\)内\(p_i\)的倍数所组成的集合,那么可以得到:
\[\phi(n)=n-\left | \bigcup _{i=1}^kS_i \right |\]

利用容斥原理,我们可以得到:
\[\phi(n)=n-\sum_{T\subseteq P}(-1)^{|T|-1}\left | \bigcap_{i\in T} S_i \right |\]

不难得到
\[\left | \bigcap_{i\in T} S_i \right |=\frac{n}{\prod_{i\in T}p_i}\]

于是
\[\phi(n)=n-\sum_{T\subseteq P}(-1)^{|T|-1}\frac{n}{\prod_{i\in T}p_i}\\\phi(n)=n\times (1-\sum_{T\subseteq P}(-1)^{|T|-1}\frac{1}{\prod_{i\in T}p_i})\]

而由多项式乘法可以得到:\[1-\sum_{T\subseteq P}(-1)^{|T|-1}\frac{1}{\prod_{i\in T}p_i}=\sum_{i=1}^k(1-\frac{1}{p_i})\]

所以证得结论:\[\phi(n)=n\times \sum_{i=1}^k(1-\frac{1}{p_i})\]

Min-Max容斥

类似与容斥原理,我们有一种作用于最大最小值函数的容斥计算方法,称为\(\min-\max\)容斥。

仍设\(P=\{1,2,...,n\}\),则有

\[\max_{i=1}^n\{x_i\}=\sum_{T\subseteq P}(-1)^{|T|-1}\min_{i\in T}\{x_i\}\]

普通的\(\min-\max\)容斥还有另一种很常见的形式,即\(\min-\max\)具有对称性:
\[\min_{i=1}^n\{x_i\}=\sum_{T\subseteq P}(-1)^{|T|-1}\max_{i\in T}\{x_i\}\]

具体证明可以参考这篇博客。

运用典型

\(\min-\max\)容斥最经典的运用就是结合数学期望的线性性,在求解\(\min-\max\)期望的题目中化繁为简,灵活转换。

形象的说,在期望中,两个不相关随机变量\(A,B\)不满足:\[E(\max(A,B))=\max(E(A),E(B))\\ \ \\ E(\min(A,B))=\min(E(A),E(B))\]

但是我们可以利用\(\min-\max\)容斥在最大最小值间建立联系:

\[E(\max_{i=1}^n\{x_i\})=\sum_{T\subseteq P}(-1)^{|T|-1}E(\min_{i\in T}\{x_i\})\\ \ \\ E(\min_{i=1}^n\{x_i\})=\sum_{T\subseteq P}(-1)^{|T|-1}E(\max_{i\in T}\{x_i\})\]


转载于:https://www.cnblogs.com/Parsnip/p/11273442.html

『正睿OI 2019SC Day3』相关推荐

  1. 正睿OI DAY8 ks1

    DAY8 今天过得好快啊! 今天是考的试,好难Orz,说的是,t1,t2提高,t3省选,ε=(´ο`*))) 开始先想了两个半小时的T1,打了个暴力,但测试用的是捆绑测试(pei),反正很坑: 之后开 ...

  2. 正睿OI补题(排序,高精度)

    排序,高精度 目录: P1017 [NOIP2000 提高组] 进制转换 P1908 逆序对 P1017 [NOIP2000 提高组] 进制转换 普及一下概念,负整数取模后是正整数取模的相反数,例如- ...

  3. 正睿OI DAY12 ks5

    DAY 12 今天过得好快啊! 2333又有暴力分,T3提答题是第一次做. 开始T1以为是选择连续子段,后来就只写了个暴力DFS20pts,后来想怎么选择间断的子段,就没想到DP了·········· ...

  4. 正睿OI D班补题(模拟)

    9.26 模拟: P1557 Kruscal的加法 Kruscal的加法 - 洛谷 没过的代码不贴了,我真的服,这个后面再更.......

  5. 正睿OI补题(递归与递推,前缀和与差分)

    目录: P1255 数楼梯 P4552 [Poetize6] IncDec Sequence P2280 [HNOI2003]激光炸弹 P1350 车的放置 P1255 数楼梯 数楼梯 - 洛谷 递推 ...

  6. 8.6 正睿暑期集训营 Day3

    目录 2018.8.6 正睿暑期集训营 Day3 A 亵渎(DP) B 绕口令(KMP) C 最远点(LCT) 考试代码 A B C 2018.8.6 正睿暑期集训营 Day3 时间:5h(实际) 期 ...

  7. 『线性同余方程和中国剩余定理』

    更新了\(Ex-CRT\)的内容 线性同余方程 定义 给定整数\(a,b,m\),对于形如\(ax\equiv b(mod\ m)\)的同余方程我们称之为一次同余方程,即线性同余方程. 解线性同余方程 ...

  8. 2019金华正睿集训总结

    emmm-蒟蒻第一次出来集训,也是2019年noip(现在应该叫csp的说)前最后一次外出集训- 感觉压力好大啊-毕竟才学了不到一年啊- 但不管怎样,接下来几天要好好加油啊! DAY1 仅自己用的链接 ...

  9. 鐘明系列十:『32阶3次幻方』

    鐘明系列十:『32阶3次幻方』 ※※※※※※ 來稿時間:2016年1月16日. 張貼博客時間:2016年1月19日. ※※※※※※ ◆訊息◆(2016年1月16日早10:46分) 送上一款32阶3次类 ...

最新文章

  1. props写法_好程序员web前端培训React中事件的写法总结
  2. 【github干货】主流深度学习开源框架从入门到熟练
  3. oracle中rac是什么意思,Oracle中HA、RAC、Datagurad区别
  4. linux 下启动mysql
  5. centos 7.6安装java_安装 QRadar Community Edition
  6. Win32ASM 变长参数的理解
  7. ora28500 mysql_Oracle使用 ODBC+DBLINK 访问 Mysql
  8. mysql 查询视图是否存在_sql server判断数据库、表、列、视图是否存在
  9. C# 父类代码动态转换子类
  10. C# 中将所有引用的DLL 和exe文件打成一个exe文件(转)
  11. 四阶龙格库塔法的计算例子
  12. 高等数学辅导讲义_历年真题,复习讲义的经验分享(数二127分)
  13. java中POJO类为什么要实现序列化
  14. 千帆竞发百日角逐,玻色量子荣获“创业北京”一等奖
  15. ios 扫码枪外设 键盘模式_iPadOS 显威力,苹果 iPad Pro 终于用上带触控板的外接键盘...
  16. PowerShell获取货币符号
  17. Unreal Engine使用C++入门示例
  18. android 播放器架构,Android播放器框架设计系列-1
  19. unexpected EOF while looking for matching ``'
  20. autojs root权限命令

热门文章

  1. 我的世界服务器领地系统,我的世界服务器怎么创建领地
  2. mysql 1443_MySQL 1443:這是什么意思?
  3. Python爬虫(5):豆瓣读书练手爬虫
  4. python setup.py build,无法执行“python setup.py build”命令..!
  5. error:src refspec xxx does not match any的原因及解决办法
  6. Android性能优化系列篇(五):弱网优化
  7. Springboot @Schedule 多个定时任务积压解决
  8. DVWA 反射型XSS XSS(Reflected)题解
  9. 云桌面和云计算之间的区别是什么
  10. php 生成条形码(支持任意php框架)