Counting 1

这一部分主要是讲一些数数的东西
主要就是打表发现规律再实现这一些内容

Part 1 计数的原理

1.加法原理 &乘法原理

假设一个人穿衣服,有两种穿法:
1.n件大衣中选一件穿上
2.x条毛衣中选一件,再从y件羽绒服上选一件穿
问1和2的方案数
对于1,每一件大衣都是独立的一类,应当用加法原理得出方案数为n
对于2:
法一:所有的x相互独立,首先可以对每一个xi用加法原理得出为y,然后再用加法原理得总数为xy
法二:显然的分步,直接乘法原理xy即可

加法原理适用于每一种决策都是独立的一类,乘法原理适用分步的情况

2.排列&组合

Amnm个数中选n个数组成排列的方案数
Cmnm个数中选n个数组成组合的方案数

计算式:
Anm=n!(nm)!
Cnm=n!m!(nm)!

算组合的时候,相同元素的不同排列视为同一种组合,这里容易出现算多或者算少的情况
注意可重与否,这里问题不大

3.容斥原理

可以画个Venn图方便理解一下
就是先找个全集,然后在全集里把不同情况划分成不同的集合,然后排除掉全集中不合法的集合
可能不合法的集合中某些集合存在交集,要把这些交集再加回来
可能上述多的交集里有些交集被加多了,然后再排除掉
......
容斥原理这一块答案多或少差不多都是多扣少扣这些,难以理解就画个Venn

Part 2 特殊性质

1.二项式定理

(a+b)2=i=0nCnianibi
用这个式子可以出一些非常神仙的东西

2.组合数性质&二项式推论

1.Cnm=Cnnm
nmnm,都是等价的转化
如果发现nm的差值为常数可以变形成n取常数的组合数然后再化简

2.Cnk=nkCn1k1
这里是用计算式导出的递推式
没见过这么用的,先记一下

3.Cnk=Cn1k+Cn1k1
杨辉三角
尝试用这玩意优化但是失败了

4.i=0nCni=2n
二项式定理:取a=b=1即可
这玩意是非常好用的,不过也没见到

5.i=0n(1)iCni=[n=0]
二项式定理:取a=1,b=1即可
特殊情况就是n=0,原式为1

6.i=0mCniCmmi=Cmm+n,nm
没见过,不太会证
好像是维护数据结构的一个非常快的东西

7.i=0nCni2=Cn2n
6的特殊情况,n=m时把后一项用1换掉就是这个式子

Part 3 常见类型处理
错排

f[n]=(n1)(f[n1]+f[n2])
n1递推,
第一种全部装错是f[n1],第n项和前边随便换还是错排,乘法原理(n1)f[n1]
第二种有一个对的是(n1)f[n2](分别让某一位对别的错就行),第n项和对的换就是错排,加法原理(n1)f[n2]
再加法原理就是这个式子

圆排

断环成链有n种位置
所以1个圆排可以形成n个链排
直接用除法去重就是
Qnm=Anmm=n!m·(nm)!

不相邻

Cnk+1k

posted @   2K22  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示