组合数学 排列 容斥 卡特兰数

目录

不可重复排列

可重复排列

求全排列函数(基本不用)

圆排列

不尽相异元素全排列

二项式定理

常见恒等式

组合分析法

​容斥原理

错排问题

递推推导

通项推导

斐波那契数列

性质 

卡兰特数(重点)

 例题


特别鸣谢徐哥的PPT和精彩讲解

不可重复排列

从n个物品中不可重复的取出m个物品

n:待排列数组的长度

cur:已经排列的元素个数

A[]:存储排列后的元素

vis[]:标记数组

当前元素选择完之后记得恢复变量

可重复排列

从n个物品中可重复的取出m个物品

 last表示上一个选择,vis_P表示pick,当前元素挑选数量,vis_A表示当前元素挑选上限

求全排列函数(基本不用)

next_permutation和prev_permutation()

 

圆排列

循环排列(circular permutation)亦称圆排列、环排列等。是排列的一种,指从n个不同元素中取出m(1≤m≤n)个不同的元素排列成一个环形,既无头也无尾。两个循环排列相同当且仅当所取元素的个数相同并且元素取法一致,在环上的排列顺序一致

这4种取法一致,排列顺序一直,只能算一种

不尽相异元素全排列

 

  

10步走完:10步一级台阶

9步走完:1步两级,8步一级  9!/(8!*1!)

……

6步走完:4步两级,2步一级 6!/(4!*2!)

5步走完:5步两级台阶

4,3,2,1无法完成

二项式定理

 

 

杨辉三角↑

常见恒等式

 这个\binom{n}{k}意思就是Cnk,n是下标k是上标,CSDN的公式栏我找不到…… 

高中的式子,套公式恒等

 

 

套公式恒等 

 

 

 

 x=1带入即可

 

  

 

 组合分析法

 

容斥原理

要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来,然后减去所有两个集合相交的部分,再加回所有三个集合相交的部分,再减去所有四个集合相交的部分,依此类推,一直计算到所有集合相交的部分。

例题 

给定r,n求[1,r]内与n互素的个数有多少个?

 i<<tail是状态压缩,比如k的质因子有2,3,5,7,那么i左移4位,为10000,这4个0中每有1个变成1就代表着选中了一个质因子,比如10001为选中了2,11101选中了2,5,7,具体实现为(i>>j)&1

cnt是奇数相加,偶数相减,图片打错了

这个是容斥原理,你遇到2相加了,遇到3相加了,遇到2*3就应该减回来

错排问题

递推推导

当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用D(n)表示,那么D(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.

第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;

第二步,放编号为k的元素,这时有两种情况:

⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有D(n-2)种方法;

⑵第k个元素不把它放到位置n,这时,对于这n-1个元素,有D(n-1)种方法;

综上得到 D(n) = (n-1) [D(n-2) + D(n-1)] 

通项推导

正整数1, 2, 3, ……, n的全排列有 n! 种,其中第k位是k的排列有 (n-1)! 种;

当k分别取1, 2, 3, ……, n时,共有n*(n-1)!种排列是至少放对了一个的,由于所求的是错排的种数,所以应当减去这些排列; (这时n!-n!=0,排列被减完了)

但是此时把同时有两个数不错排的排列多排除了一次,应补上n!/2!  [(n-2)!*C(n,2)=n!/2!];

在补上时,把同时有三个数不错排的排列多补上了一次,应排除n!/3!; ……;

继续这一过程,得到错排的排列种数为

D(n) = n! - n!/1! + n!/2! - n!/3! + … + (-1)^n*n!/n! = ∑(k=2~n) (-1)^k * n! / k!

即D(n) = n! [1/0! - 1/1! + 1/2! - 1/3! + 1/4! + ... + (-1)^n/n!].

板子题https://acm.hdu.edu.cn/showproblem.php?pid=2048

斐波那契数列

性质 

不用背

卡兰特数(重点)

https://www.luogu.com.cn/problem/P1044

 

 例题

https://www.luogu.com.cn/problem/P1157(递归)

https://www.luogu.com.cn/problem/P7566(排列组合)

https://www.luogu.com.cn/problem/P3197(容斥)

https://www.luogu.com.cn/problem/P1641(卡兰特数)

https://www.luogu.com.cn/problem/P4071 (错排)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值