上回 说到拉反和扩展拉反,那么这里先给几个小小变形或推广。
基础 ver:
[xn]G(x)=1n[xn−1](F(x)/x)−n,[xn](H∘G)(x)=1n[xn−1]H′(x)(F(x)/x)−n.(1)(2)
令 H(x)=xk 带入 (2):
[xn]Gk(x)=kn[x−k]F−n(x).(3)
另一个变形,由于
kn[x−k]F−n(x)=−1n[x−k]x(F−n(x))′=[x−k−1]F′(x)F−n−1(x),
那么:
[xn]Gk(x)=[x−k−1]F′(x)F−n−1(x).(4)
既然都会求 Gk(x) 了,我们立马把 H(x) 往 (4) 头上一套,得到:
[xn](H∘G)(x)=[xn]H(x)F′(x)(F(x)/x)−n−1=[x0]xH(x)F′(x)F−n−1(x).(5)(6)
做了一道例题之后不负责任的感言:(6) 挺有用的(事实上,后文只用了 (6) 这一种形式),或许是因为最多变的 H(x) 不用导了。
关于 Bt(x),它是一个满足如下方程的 GF:
Bt(x)=xBtt(x)+1.
当 t=2,这是 Catalan 数的 GF,于是乎依照 Catalan 的多样组合意义,你可以对 Bt(x) 进行包括但不限于多边形划分、走折线计数、 多叉树计数等组合意义解释。这个 GF 结合拉反,能够对相关 (tn+rn) 的求和进行有效变形。所以——
学拉格朗日反演不学广义二项级数, 就像读四大名著不读红楼梦. 说明这个人文学造诣和自我修养不足, 他理解不了这种内在的阳春白雪的高雅艺术, 他只能看到外表的辞藻堆砌, 参不透其中深奥的精神内核, 他整个人的层次就卡在这里了, 只能度过一个相对失败的人生.
整活完毕,我们来推一下 Bt(x) 的系数。令 F(x)=Bt(x)−1 以去掉常数项,观察发现 F 的复合逆为 G(x)=x(1+x)−t,那么
[xn]Brt(x)=[xn](1+F(x))r=[x0]x(1+x)r(1+x)t−xt(1+x)t−1(1+x)2t(1+x)tn+txn+1=[x0]x(1+x)r1−(t−1)x(1+x)t+1(1+x)tn+txn+1=[xn](1+x)tn+r−1(1−(t−1)x)=(tn+r−1n)−(t−1)(tn+r−1n−1)=rtn+r(tn+rn).
其中第二步用公式 (6),代入 H(x)=(1+x)r 反演。
然后你就会说了,它这组合数带个 rtn+r 的系数,格局就上不去,根本做不了题。我们来尝试弄一下 ∑n≥0(tn+rn)xn 的表达式
(tn+rn)=[xn](1+x)tn+r=[x0]((1+x)t/x)n(1+x)r=[x0]G−n(x)(1+F(G(x)))r=[x0]x⋅x−n(1+F(x))r⋅F′(x)/F(x)=[xn](1+F(x))rxF′(x)F(x)=[xn](1+F(x))rx(G′(F(x)))−1F(x)=[xn](1+F(x))rG(F(x))G′(F(x))F(x)=[xn](1+F(x))r1+F(x)1−(t−1)F(x).
神他妈的,第三步时,令 H(x)=x−n(1+F(x))r 代公式 (6),居然能这么反演,我兔麻了。最后一步展开 G(x) 和 G′(x) 整理即可,不多讲。
然后是喜闻乐见的例题时间。
初步转化,枚举 x,求合法方案数。当 x 确定时,方案数为
ansx=B∑b=0R−(B−b)x∑r=bx(r+br)(R−r+B−bR−r)=B∑b=0R−Bx∑d=0(b(x+1)+db)((B−b)(x+1)+R−Bx−dB−b)=R−Bx∑d=0B∑b=0(b(x+1)+db)((B−b)(x+1)+R−Bx−dB−b).
令 t=x+1,你发现这个组合数 (bt+db) 我们好像挺会的。令 F(z)=Bt(z)−1,带入结论:
ansx=⋯=R−Bx∑d=0B∑b=0([zb](1+F(z))d1+F(z)1−(t−1)F(z))([zB−b](1+F(z))R−Bx−d1+F(z)1−(t−1)F(z))=[zB]R−Bx∑d=0(1+F(z))R−Bx(1+F(z)1−(t−1)F(z))2=(R−Bx+1)[zB](1+F(z))R−Bx(1+F(z)1−(t−1)F(z))2.
然后我们叕来一次拉反,令 H(z)=(1+z)R−Bx(1+z1−(t−1)z)2,反正已经有 F∘G=z,丢进去反演:
ansxR−Bx+1=⋯=[z0]zH(z)G′(z)G−B−1(z)=[z0]z(1+z)R−Bx(1+z1−(t−1)z)21−(t−1)z(1+z)t+1(1+z)Bt+Bzn+1=[zB](1+z)R+1−t+B1−(t−1)z=[zB](1+z)R+B+11−xz=B∑i=0(R+B+1i)xB−i.
最终,答案就是
ans=R/B∑x=1(R−Bx+1)B∑i=0(R+B+1i)xB−i=B∑i=0(R+B+1i)⎛⎝(R+1)R/B∑x=1xB−i−BR/B∑x=1xB−i+1⎞⎠.
于是乎求一堆范围固定,上指标可变的自然数幂和即可。
为了水篇幅我们来推一下这题自然数幂和的求法。令 fk=∑ni=0ik,并令其 EGF 为 F(z),那么
F(z)=∑i≥0zii!n∑j=0ji=n∑j=0∑i≥0jizii!=n∑j=0ejz=1−e(n+1)z1−ez.
分子分母约一个 z,多项式求逆求出 F(z)modzB+2 即可。复杂度 O(BlogB)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现