容斥原理

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

S1={1,2,3,4} S2={2,4,5}

S1S2 的大小

根据我们高中的知识很容易可以知道S1S2 的大小是5

那究竟是怎么来的呢

我们可以推出这样一个式子:|S1S2| = |S1|+|S2|-|S1S2|

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

S1={1,2,3,4} S2={2,4,5} S3={4,5,6}

通过观察法我们很容易知道 |S1S2S3| = 6

那如果用式子推导呢

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

6=|S1S2S3| |S1|+|S2|+|S3|-|S1S2|-|S1S3|-|S2S3|=5

我们观察可以发现S1S2S3这一部分是被加了三次被减了三次的

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

最终的公式为

|S1S2S3| = |S1|+|S2|+|S3|-|S1S2|-|S1S3|-|S2S3|+|S1S2S3|

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

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

Si1n 中能整除pi的集合,那么根据容斥原理, 所有数的个数为各个集合的并集,计算公式如下
i=1mSi=S1+S2++Sm(S1S2+S1S3++Sm1Sm)+
(S1S2S3++Sm2Sm1Sm)++(1)m1(i=1mS)

以上就是容斥原理

习题:

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

本文作者:liangqianxing

本文链接:https://www.cnblogs.com/liangqianxing/p/17061391.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   liangqianxing  阅读(249)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起