《具体数学》第五章的做题记录。
组合日记-九月十九日
范德蒙德卷积有关的组合恒等式
范德蒙德卷积:∑k(rn−k)(sk)=(r+sn)
组合意义:有 r 个红球,s 个白球,从中选出 n 个球。相当于枚举 k,从 r 中选出 n−k 个球,s 中选出 k 个点。
它能导出的恒等式:
- ∑k(lm+k)(sn+k)=(l+sl+n−m)
证明:这就是范德蒙德卷积的简单变形。
LHS=∑k(ll−m−k)(sn+k)=(l+sl+n−m)
- ∑k(lm+k)(s+kn)(−1)k=(−1)l+m(s−mn−l)
证明:
Lemma:(rk)=(−1)k(k−r−1k)
LHS=∑k(−1)k(lm+k)(s+ks+k−n)=∑k(−1)k(−1)s+k−n(lm+k)(−n−1s+k−n)=∑k(−1)s−n(ll−m−k)(−n−1s+k−n)=(−1)s−n(l−n−1l+s−m−n)=(−1)s−n∗(−1)l+s−m−n(l+s−m−n−(l−n−1)−1l+s−m−n)=(−1)l−m(s−ml+s−m−n)=(−1)l+m(s−mn−l)
数学已放下太久,NOIP 日益临近,退役的日子越来越近,我们终将渐行渐远。
一枕黄粱梦太长,仰看此月光,当往事浮现恍然如梦一场。
mklzc−2022.9.19
组合日记-九月二十日
二项式系数商的处理
m∑k=0(mk)(nk)=n+1n+1−m
证明:
Lemma 1:(nm)(mk)=(nk)(n−km−k)
Lemma 2:n∑k=0(r+kk)=(r+n+1n)
LHS=1(nm)m∑k=0(n−km−k)=1(nm)∑m−k≥0(n−(m−k)m−(m−k))=1(nm)∑k≥0(n−m+kk)=(n+1m)(nm)=n+1n−m+1
二项式定理的逆向运用
Lemma:(x+y)n=n∑k=0(nk)xkyn−k
n∑i=1i∑j=1(j−1i−1)(m−1)j−imn−(j−i)=∑1≤j≤nmn−j∑1≤i≤j(j−1i−1)(m−1)j−imi=∑1≤j+1≤nmn−j−1∑1≤i+1≤j+1(ji)(m−1)j−imi+1=∑0≤j≤n−1mn−j(2m−1)j
又是一天过去了,模拟赛连一等奖的分数线都岌岌可危,这样下去,希望到底在哪里?
无法突破的思维壁垒,难以跨越的知识高墙。
mklzc−2022.9.20
组合日记-九月二十一日
卡特兰数通项公式的生成函数推导
符号约定: C[i],[xi]C(x) 表示 C(x) 的 xi 的系数。
设 C[0]=1,C[n]=n 对括号构成的的合法括号序列数。
C[n+1]=n∑i=0C[i]C[n+i][xn+1]C(x)=[xn]C(x)2C(x)−1x=C(x)2C(x)=1±√1−4x2x
因为 limx→0C(x)=1,故 C(x)=1−√1−4x2x
Lemma:√1−4x=(1−4x)12=∞∑i=0(−4x)i(12i)=∞∑i=0(−2)∗1i−1(2i−2i)xi
[xn]x∗C(x)=[xn](1−√1−4x2x)[xn−1]C(x)=1n−1(2n−2n),(n≠1)C[n]=1n(2nn+1)=1n+1(2nn)
一个组合恒等式
n∑k=0k(m−k−1m−n−1)/(mn)
Proof:
LHS=1(mn)n∑k=0(m−(m−k))(m−k−1m−n−1)=1(mn)[mn∑k=0(m−k−1m−n−1)−n∑k=0(m−k)(m−k−1m−n−1)]=1(mn)[m(mm−n)−n∑k=0(m−k)m−nm−k(m−km−n)]=m−1(mn)(m−n)n∑k=0(m−km−n)=m−m−n(mn)(m+1m−n+1)=m−(m−n)m+1m−n+1=nn+m−1
Q.E.D
组合日记-九月二十二日
递推式的推导
Qn=∑k≤2n(2n−kk)(−1)k,n∈N+
试求 Q1000000 。
观察到 n 只以 2n 的形式出现过,设 m=2n
Qn=Rm=∑k≤m(m−kk)(−1)k=∑k≤m(m−1−kk)(−1)k+∑k≤m(m−1−kk−1)(−1)k=∑k≤m−1(m−1−kk)(−1)k+(−1m)(−1)m−∑k+1≤m(m−2−kk)(−1)k=Rm−1+(−1m)(−1)m−∑k≤m−2(m−2−kk)(−1)k−(−1m−1)(−1)m−1=Rm−1−Rm−2+(−1m)(−1)m+(−1m−1)(−1)m−1=Rm−1−Rm−2+(−1)2m+(−1)2(m−1)=Rm−1−Rm−2
考察 R 的前几项的值: R0=0,R1=1,R2=1
手玩可以得到:
⎧⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪⎨⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪⎩R0=0R1=1R2=1R3=0R4=−1R5=−1R6=0R7=1
观察发现,每六个数为一个循环节。
当然,考虑更严谨的证明:
Rm=Rm−1−Rm−2=(Rm−2−Rm−3)−Rm−2=−Rm−3=Rm−6 。
这样 Qn=R2n 就可以很轻易的求出了。
组合日记-九月二十三日
成立条件
∑k(nk)(sk)k,n∈N
有点像 LINK 的 1. 式。
Lemma1:(nk)=(nn−k),n∈N
LHS=∑k(nk)(s−1k−1)s=s∑k(nn−k)(s−1k−1)=s(n+s−1n−1)
式子推导很简单,可以说是易如反掌,但是为什么吸收系数 k 的是 (sk),而非 (nk) 呢?
关注式子的推导过程:运用了 Lemma1,而 Lemma1 仅在 n∈N+ 的时候成立。
若用 (nk) 吸收系数 k ,那么就涉及到了 n−1 的正负问题,然而 n−1 不一定是正的。
如上启发我们要关注式子推导过程中所运用恒等式的成立条件,同时可以发现,没有任何条件限制的组合恒等式是最有用的(整数意义下)。
如下列出了一些常用恒等式的成立条件:
⎧⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪⎨⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪⎩(nk)=(nn−k),n∈N,k∈Z(nk)=(n−1k−1)nk,k∈Z,k≠0(nk)=(n−1k−1)+(n−1k),k∈Z(nk)=(−1)k(k−n−1k),k∈Z(nm)(mk)=(nk)(n−km−k),k,m∈Z∑k(nk)xkyn−k=(x+y)n,n≥0 or∣xy∣<1∑k≤n(m+kk)=(n+m+1n),n∈N∑k≤n(mk)=(m+1n+1),m,n∈N∑k(rk)(sn−k)=(r+sn),n∈Z
如上十个组合恒等式经常会用到,记住它们的成立条件是有意义的。
休对故人思故国,且将新火试新茶,诗酒趁年华。
组合日记-九月二十四日
前带系数的二项式系数的处理
∑k≥0(n+km+2k)(2kk)(−1)kk+1
(n+km+2k) 的处理很巧妙。
Lemma 1:(nm)(mk)=(nk)(n−km−k)Lemma 2:∑−q≤k≤l(l−kr)(q+ks)=(l+q+1r+s+1)
Lemma 2 Proof:
LHS=∑−q≤k≤l(l−kl−k−r)(q+kq+k−s)=∑−q≤k≤l(−1)l−k−r(−1)q+k−s(−r−1l−k−r)(−s−1q+k−s)=(−1)l+q−r−s∑−q≤k≤l(−r−1l−k−r)(−s−1q+k−s)=(−1)l+q−r−s(−r−s−2l+q−r−s)=(l+q+1l+q−r−s)=(l+q+1r+s+1)Q.E.D
用 Lemma 2 构造以 2k 为底的二项式系以应用 Lemma 1 。
=∑k≥0n+k−1∑i=0(n−i+k+12k)(im−1)(2kk)(−1)kk+1=∑i≥0(im−1)∑0≤k≤i+1−n(n−i+k+12k)(2kk)(−1)kk+1=∑i≥0(im−1)∑0≤k≤i+1−n(n−i+k−1k)(n−i−1k)(−1)kk+1=∑i≥0(im−1)1n−i∑0≤k≤i+1−n(n−i+k−1k)(n−ik+1)(−1)k=∑i≥0(im−1)1n−i∑0≤k≤i+1−n(i−nk)(n−in−i−k−1)=∑i≥0(im−1)1n−i(0n−i−1)=∑i≥0(im−1)1n−i[i=n−1]=(n−1m−1)
最后得到的是一个非常优美的形式。
组合日记-九月二十五日
CF1278F
答案即为:
n∑i=0(ni)pi(1−p)n−iik
考虑化简:
Lemma1:ik=∑j(ij){kj}j!Lemma2:(nm)(mk)=(nk)(n−km−k)
n∑i=0(ni)pi(1−p)n−iik=n∑i=0(ni)pi(1−p)n−i∑j(ij){kj}j!=∑j{kj}j!n∑i=0(ni)(ij)pi(1−p)n−i=∑j{kj}j!n∑i=0(nj)(n−ji−j)pi(1−p)n−i=∑j{kj}(nj)j!n∑i=0(n−ji−j)pi(1−p)n−i=∑j{kj}(nj)j!pjn∑i=0(n−ji−j)pi−j(1−p)n−i=∑j{kj}(nj)j!pj=∑j≤min(k,n){kj}(nj)j!pj
化简到这里,已经可以用 O(k2) 递推做掉这道题了。
然而还可以继续。
对 Lemma1 使用二项式反演得到:
i!{ki}=∑j(−1)i−j(ij)jk
继续刚才的推导。
=min(n,k)∑j=0(nj)pjj∑i=0(−1)j−i(ji)ik=min(n,k)∑i=0ikmin(n,k)∑j=i(ji)(nj)(−1)j−ipj=min(n,k)∑i=0ik(−1)i(ni)min(n,k)∑j=i(n−ij−i)(−p)j=min(n,k)∑i=0ik(ni)pimin(n,k)−i∑j=0(n−ij)(−p)j
考虑裂项求后面和式的递推式。
以下是 k≤n 的情况:
Ri=k−i∑j=0(n−ij)(−p)j=k−i∑j=0(n−i−1j)(−p)j+k−i∑j=1(n−i−1j−1)(−p)j=Ri+1+(n−i−1k−i)(−p)k−i+k−i−1∑j=0(n−i−1j)(−p)j+1=Ri+1+(n−i−1k−i)(−p)k−i+(−p)k−i−1∑j=0(n−i−1j)(−p)j=Ri+1−pRi+1+(n−i−1k−i)(−p)k−i
边界是 Rk=1
对于 n<k 的情况:Ri=(1−p)Ri+1,Rn=1
综上所述:
Ans=min(n,k)∑i=0ik(ni)piRi
组合日记-九月二十六日
二项式系数中的 12
rk––(r−12)k––=(2r)2k–––22k,k∈N
将下降幂展开后交替书写,比较显然。
两侧同除以 k! 导出如下公式:
(rk)(r−12k)=(2r2k)(2kk)122k(n−12n)=(2nn)14n(−12n)=(−14)n(2nn)(1)(2)(3)
于是对于形如 (x+y)12 二项式展开后的情形,(2),(3) 给出了一种优美的处理方式。
如上两式还给出了系数如 4−n 或 (2kk) 的一种处理办法。
比如下面这个例子:
∑k(n2k)(2kk)2−2k=∑k(n2k)(n−12k)=(n−12⌊n2⌋)
还有一个非常优美的恒等式
∑k(2kk)(2n−2kn−k)=∑k(−4)k(−12k)(−4)n−k(−12n−k)=(−4)n(−1n)=4n
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】