[组合数学]容斥原理的初步总结

容斥原理

应用于计数集合划分有重叠,无法简单应用加法原理的情况下。主要方法是颠倒计数过程,先计数1组合~~n-1组合数,然后

根据容斥性质从总集合|S|中减去或加上相应计数。

=一般公式===========

---------
计算不具有某几个属性 物体个数:
公式:
  =|S|- ∑R-1 + ∑R-2 - ∑R-3 ... +(-1)^mR-m
  ---------
  一种情况的化简
   情况:各R-i组合个数相同(k个i组合计数相同)

   =a0 - C(m,1)a1 + C(m,2)a2 - C(m,3)a3 + ... + (-1)^k C(m,k)ak + ... + (-1)^m am 


---------
计算至少具有某几个属性之一 的物体个数
公式:
  =∑R-1 - ∑R-2 + ∑R-3 ... +(-1)^(m+1) R-m


=有限多重组合计数问题============
情况:n个不同元素,k种,非无限,没种限制为r1...rk。在n种元素中取r组合。
解决方法:
  按无限多重组合运算共C(n+k-1)种
  按1组合到k组合计算每种组合的补集的无限多重组合计数(1组合|A1|,|A2|,2组合|A1 & A2|...)
    其中|Ai|=C(r-ri-1+k-1,r-ri+i) (备注:r-ri-1为先取ai达到ri+1个后,进行无限多重组合计数的总位数)
公式:
  按容斥原理=[C(n+k-1) - 1组合 + 2组合 + 。。。 + (-1)^k k组合计数]


=错位排列问题===========
情况:每个元素有一个特定位。要求求出元素不在其原始位置的所有排列
解决方法:
  计算元素在特定位置的1组合、2组合...n组合情况下的所有排列数。
  按容斥原理从|S|中剪除或加入这些排列数。
公式:
  Dn = n!-C(n,1)(n-1)!+C(n,2)(n-2)!+...+(-1)^n C(n,n)(n-n)!
  经化简得到下面1式。
  Dn = n!(1-1/1!+1/2!-3/3!+...+(-1)^n 1/n!)
  Dn = nDn-1 + (-1)^n
  

=带禁止位排列==========
情况:典型的是非攻击车在棋盘上有某些位置禁止放置的情况
解决方法:
  首先计算在禁止位放置非攻击车的方案(r1、r2、...、rn个)组合情况下的所有排列数
  按容斥原理从|S|中剪除或加入这些排列数。
公式:
  Dn=n!-r1(n-1)!+r2(n-2)!+...+(-1)^k rk(n-k)!+...+(-1)^n rn

=相对禁止位排列==========
情况:集合{1,2,...,n}不出现12,23,34这种排列
解决方法:
  将12,23,34这种排列作为一个元素放在排列中,分别计算n-1个元素的1组合、2组合...n-1组合情况下的所有排列数
  按容斥原理从|S|中剪除或加入这些排列数。
公式:
  Qn=n! - C(n-1,1)(n-1)!+C(n-1,2)(n-2)!+...+(-1)^n-1 C(n-1,n-1)1!
  与禁止位排列联系后,公式可以转化为
  Qn = Dn + Dn-1 = (n+1)Dn-1 + (-1)^n

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值