导数与积分
%%YCB%%
排列与组合
加法法则与乘法法则
基础思想:分类计数使用加法,分步计数使用乘法
Cayley定理
n个有标号顶点的树的个数为nn−2
证明:定义一个消去序列,序列与树一一对应(略)。
排列与组合
n元r排列:n!(n−r)!
n元r组合:组合数(naive)
n元r可重排列:nr(naive)
n元r可重组合:(n+r−1r)
多重集S={(a1,k1),(a2,k2),...,(an,kn)}
多重集的全排列:n!k1!k2!...kn!
多重集的r组合:(n+r−1r)(∀k≥r)
隔板法、放缩法是解释组合意义的利器
组合问题与二项式系数、格路问题的联系
不经过对角线的格路问题方案数求解
Wallis公式与Stirling公式
Stirling公式:n!∽√2nπ(ne)n
貌似OI不怎么用得上?
递推关系与母函数
母函数
对一个数列a0,a1,a2...构造函数
G(x)=a0+a1x+a2x2+...
称为母函数,其长度可以是无穷大。
母函数的表示及求解
大部分无穷大的母函数可以写成若干个无穷等比数列的和
无穷等比数列求和公式:S=a11−q(不失一般性地设0<q<1,由有穷等比数列求和Sn=a1(1−qn)1−q将qn看作无穷小可以推导出)
求解的一般步骤
一、写出递推式(形如ai=f(ai−1),记为递推式的第i项)
二、递推式的第i项两边乘上xi,最后所有等式左右两边分别求和,形如
a1x+a2x2+a3x3+...=f(a0)x+f(a1)x2+f(a2)x3+...
三、通过移项、无穷等比数列求和、因式分解等变换,把上面的大等式大概写成这样(分子是任意一个多项式P(x),不用在意)
G(x)=P(x)(1−q1x)(1−q2x)...
四、上式可以裂项成若干等比数列的和
G(x)=A1(1−q1x)+A2(1−q2x)+...
待定系数法,将上式通分以后,根据合并后的分子与上面的P(x)对应项的系数相等,联立方程组解出A1,A2,...。
母函数的应用
写出数列的母函数后,我们可以写出数列的通项公式,进而快速求出数列指定项an的值。
既然我们可以把大部分母函数写成等比数列和的形式,那么我们就对于每一个等比数列,算出它的xn的系数,最后相加即可得到an。
优选法
就是三分求单峰函数的极值,只不过在区间的0.382和0.618等分点求值,这样有一个值在下一次的时候还能用上。
利用Fibonacci数列后一项比上前一项接近0.618的性质,可以使优选法取到整点。
线性常系数齐次递推关系
对于数列{an}有递推式
an+c1an−1+c2an−2+...+ckan−k=0(a0=d0,a1=d1,...ak−1=dk−1)
若∀c,d都是常数,则称上式为k阶线性常系数齐次递推关系
C(x)=xk+c1xk−1+c2xk−2+...+ck−1x+ck称为特征多项式。
求解
经过复杂的变换,数列的母函数一定可以写成
G(x)=P(x)1+c1x+c2x2+...+ckxk
其中P(x)为一个极其复杂的最高次项不超过k−1的多项式。
分母显然等价于xkC(1x),于是考虑解方程
C(x)=(x−α1)k1(x−α2)k2...(x−αt)kt
α1,α2,...αt为C(x)在复数域内的t个根,称为特征根。显然可能有重根,ki即为αi的重复次数,于是有t∑i=1ki=k
于是将k个x乘进分母中得出
G(x)=P(x)(1−α1x)k1(1−α2x)k2...(1−αtx)kt
开始求xn系数an,三种情况只好死记硬背
单根
设有若干单根α1,α2,...αk
直接待定系数A1αn1+A2αn2+...+Akαnk
复根
如果出现复根,肯定是一对一对的共轭复根ρ(cosθ±isinθ)
待定系数Aρncosnθ+Bρnsinnθ
多重根
有一个k重根α
待定系数(A0+A1n+A2n2+...+Ak−1nk−1)αn
貌似也适用于单根(k=1)
三种情况的待定系数式相加即为an的表达式
将初始值a0=d0,a1=d1,...ak−1=dk−1带入an的表达式中,得到一个k元方程组,求解即可。
系数都求出来了,an当然求出来啦!
整数的拆分
运用母函数解释
设有n个数的多重集{(d1,k1),(d2,k2),...(dn,kn)},每个数可以任意选,那么可以构造一母函数
G(x)=(1+xd1+x2d1+...+xk1d1)...(1+xdn+x2dn+...+xkndn)
展开可得
G(x)=1+a1x+a2x2+a3x3+...+a(∑kd)−1x(∑kd)−1+x∑kd
其中xi项系数ai为将i拆成若干数的和的方案数。
上面讨论的是可以任意选的情况。根据题目对选择数的限制,可以对母函数进行修改,xAdi不存在即表示数di不能选A个。
Ferrers图像
懒得解释图像,百度百科
利用图像可以得到的重要性质:整数n拆分成最多不超过m个数的和的拆分数,和n拆分成最大不超过m的拆分数相等。
指数型母函数
对一个数列a0,a1,a2...构造函数
Ge(x)=a0+a11!x+a22!x2+...
称为指数型母函数。
这个名字是怎么来的呢?
求ex的麦克劳林级数1+x+x22!+x33!+...,跟指数型母函数的定义式很像
反过来说,序列{1,1,1,...}的指数型母函数显然为ex。
如果需要进行组合意义的计数,常使用指数型母函数。
常用变换
ekx⇔1+kx+k22!x2+k33!x3+...
e−x⇔1−x+k22!x2−k33!x3+...
ex+e−x2⇔1+k22!x2+k44!x4+k66!x6...
第一类Stirling数
%%litble%%
定义为n个有区别的球划分成m个环的方案数。用s(n,m)表示。
s(n,m)=(n−1)s(n−1,m)+s(n−1,m−1)
s(n,m)=[xm](n−1∏i=0(i+x))
第二类Stirling数
%%GZY%%
定义为n个有区别的球放进m个相同的盒子中,盒子不允许为空。另一种通俗的称呼是集合划分数。用S(n,m)表示。
S(n,m)=mS(n−1,m)+S(n−1,m−1)
S(n,m)=1m!m−1∑k=0(−1)k(mk)(m−k)n
Catalan数
定义为通过n−2条对角线把一个凸n边形分割的方案数。
Cn+1=1n(2n−2n−1)
Cn=(2n)!n!(n+1)!
容斥原理与鸽巢原理
德摩根定理
符号约定:记¯¯¯¯A为A的补集,|A|为A的元素个数。
¯¯¯¯¯¯¯¯¯¯¯¯¯¯A∪B=¯¯¯¯A∩¯¯¯¯B,¯¯¯¯¯¯¯¯¯¯¯¯¯¯A∩B=¯¯¯¯A∪¯¯¯¯B(naive)
容斥原理
先来直观的
|A∪B|=|A|+|B|−|A∩B|
|A∪B∪C|=|A|+|B|+|C|−|A∩B|−|A∩C|−|B∩C|+|A∩B∩C|
推广到求|A1∪A2∪...∪An|即|n⋃i=1Ai|
设一个集合的集合S={A1,A2,...,An}
那么枚举S的子集求并,如果这个子集大小为奇,那么容斥系数为1,否则为−1,总的式子长这样
|n⋃i=1Ai|=n∑i=1|Ai|−∑i≠j|Ai∩Aj|+∑i≠j≠k,i≠k|Ai∩Aj∩Ak|−...
类似地,还可以反过来求|¯¯¯¯¯¯A1∩¯¯¯¯¯¯A2∩...∩¯¯¯¯¯¯¯An|即|n⋂i=1¯¯¯¯¯¯Ai|
|n⋂i=1¯¯¯¯¯¯Ai|=|S|−n∑i=1|¯¯¯¯¯¯Ai|+∑i≠j|¯¯¯¯¯¯Ai∪¯¯¯¯¯¯Aj|−∑i≠j≠k,i≠k|¯¯¯¯¯¯Ai∪¯¯¯¯¯¯Aj∪¯¯¯¯¯¯Ak|+...
莫比乌斯反演
定义一个容斥系数μ(d)
μ(d)=⎧⎨⎩1,d=1(−1)k,d=p1p2...pk(p是互不相同的质数)0,otherwise
若f(n),g(n)是定义在正整数上的个函数,满足
f(n)=∑d|ng(d)
则
g(n)=∑d|nμ(d)f(nd)
鸽巢原理/抽屉原理
n个抽屉里有n+1个苹果,则至少有一个抽屉里有两个苹果(naive)
群论
跳过群的基本概念吧,反正计数又用不着。
置换群
所有的有限群都可以用置换群表示。
置换的定义:一个n元置换是一个排列二元组,一般写成
p=(123...na1a2a3...an)
表示把序列中的i号元素替换为ai号元素。
第一行不一定要写成1−n,将列任意交换得到的仍是原来的置换。
Burnside引理
L=1|G|∑p∈G不动点个数(p)
Pólya定理
定义k阶循环为一个序列(b1,b2,...bk),满足在置换中ab1=b2,ab2=b3,...abk=a1
于是一个置换可以写成若干个循环的组合,比如
p=(1234524513)
可以写成两个循环(1,2,4)(3,5)的形式。
如果(b1,b2,...bk−1,bk)与(b2,b3,...bk,b1)视为等价的话,那么可以说每一个置换都有唯一的一个循环表示。
记cp为置换p循环表示下循环的总数。在置换群G的意义下用m种颜色染物品,其方案数为1|G|∑p∈Gmcp。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具