组合数学、容斥原理

@@基础概念:容斥原理又称排容原理,在组合数学里,其说明若 A1...An 为有限的集合,则如下图,其中 |A| 表示 A 的基数(一个集合元素的个数)。例如在两个集合的情况时,我们可以将 |A| 和 |B| 相加,再减去其交集的基数,而得到其并集的基数。摘自维基百科

容斥原理通式

@@经典应用之二项式反演
不在此赘述,献上学习博客一篇
:求有多少个长度为n的排列a1,a2,...,an,满足对于所有的1 <= i <= n,使得ai != i
:我们称位置i是不变的当且仅当ai = i。首先我们知道,如果不考虑ai != i这个条件,问题是很简单的,长度为 n 的排列一共有 n!。并且这些排列是有恰好k(k=0,1,2,⋯,n)个位置是不变的排列组成,也就是,如果我们设fi恰好i个位置是不变的排列的个数,那么可以得到
image.png

那么,使用二项式反演可以得到
image.png

例题-HDU1465


\color{red}{球染色问题}:有 n 个球排成一行,你有 k 种颜色,要求给每一个球染色,相邻两个球颜色不可以相同,并且每种颜色至少使用一次。
\color{yellowgreen}{思路}:和错排列问题相同,假设没有限制每种颜色至少使用一次,那么问题就很简单,答案就是k(k-1)^n-1。这些方案是由恰好使用了 i(i=0,1,2,⋯,k) 种颜色的方案组成的,那么设 fi 为恰好使用了 i 种颜色的方案数,可以得到

image.png

经过反演得到
image.png

例题-codeforces/gym/100548/F-color

思考:其实不仅仅是二项式反演,很多问题中最经常用到的方法就是把条件放宽,求出一个好计算的问题,之后加上这个条件得到方程,利用反演公式算出答案,思想很类似的一题是bzoj-3456城市规划


@@经典应用之斯特林数
\color{red}{第一类Stirling数}:第一类Stirling数是分正负的,其绝对值是n个元素的项目分作k个环排列。常用的表示方法有s(n,k)等。
换一个比较生活化的说法,就是有n个人分为k组,每组内再按照特定的顺序围圈的分组方法的数目。例如s(4,2) = 11:
{A,B},{C,D}
{A,C},{B,D}
{A,D},{B,C}
{A},{B,C,D}
{A},{B,D,C}
{B},{A,C,D}
{B},{A,D,C}
{C},{A,B,D}
{C},{A,D,B}
{D},{A,B,C}
{D},{A,C,B}
给定S(n,0)=1, S(1,1)=1,有\color{yellowgreen}{递归关系}S(n,k) = S(n-1,k-1) + (n-1)S(n-1,k)
递推关系的说明:考虑第n个物品,n可以单独构成一个非空循环排列,这样前n-1种物品构成k-1个非空循环排列,有 S(n-1,k-1)中方法;也可以前n-1种物品构成k个非空循环排列,而第n个物品插入第i个物品的左边,这有(n-1)S(n-1,k)种方法。

image.png

:第二类Stirling数是n个元素的集合定义k个等价类的方法数目,常用的表示方法有S(n,k)等。
换个比较生活化分说法,就是n个人分为k组的分组方法的数目,例如有甲、乙、丙、丁四人,若所有人分为1组,只能所有人在同一组,因此S(4,1)=1,若所有人分为4组,只能每人在独立的一组,因此S(4,4)=1,若分为2组,若分成2组,可以是甲乙一组、丙丁一组,或甲丙一组、乙丁一组,或甲丁一组、乙丙一组,或其中三人同一组另一人独立一组,即是:
{A,B},{C,D}
{A,C},{B,D}
{A,D},{B,C}
{A},{B,C,D}
{B},{A,C,D}
{C},{A,B,D}
{D},{A,B,C}
因此S(4,2)=7
给定S(n,n)=S(n,1)=1,有S(n,k) = S(n-1,k-1) + kS(n-1,k)
递推关系的说明:考虑第n个物品,n可以单独构成一个非空集合,这样前n-1种物品构成k-1个非空不可辨别的集合,有 S(n-1,k-1)中方法;也可以前n-1种物品构成k个非空不可辨别的集合,而第n个物品放入任意一个当中,这有kS(n-1,k)种方法。
image.png

例题-51nod-1829函数

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 13,413评论 0 13
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 9,215评论 0 2
  • 1. 关于诊断X线机准直器的作用,错误的是()。 (6.0 分) A. 显示照射野 B. 显示中心线 C. 屏蔽多...
    我们村我最帅阅读 13,822评论 0 5
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,261评论 0 2
  • 娟娟老师是位数学老师,班主任。三十岁左右,学生的知心姐姐一样。不仅数学课讲的好,令学生喜欢,而且班务做的...
    阿丫阅读阅读 4,466评论 0 2

友情链接更多精彩内容