Note -「广义二项级数」浅赏
上回 说到拉反和扩展拉反,那么这里先给几个小小变形或推广。
基础 ver:
[x^n]G(x) &= \frac{1}{n}[x^{n-1}](F(x)/x)^{-n},\tag1\\
[x^n](H\circ G)(x) &= \frac{1}{n}[x^{n-1}]H'(x)(F(x)/x)^{-n}.\tag2
\end{align}
\]
令 \(H(x)=x^k\) 带入 \((2)\):
\]
另一个变形,由于
\]
那么:
\]
既然都会求 \(G^k(x)\) 了,我们立马把 \(H(x)\) 往 \((4)\) 头上一套,得到:
[x^n](H\circ G)(x) &= [x^n]H(x)F'(x)(F(x)/x)^{-n-1}\tag5\\
&= [x^0]xH(x)F'(x)F^{-n-1}(x).\tag6
\end{align}
\]
做了一道例题之后不负责任的感言:\((6)\) 挺有用的(事实上,后文只用了 \((6)\) 这一种形式),或许是因为最多变的 \(H(x)\) 不用导了。
关于 \(\mathcal B_t(x)\),它是一个满足如下方程的 GF:
\]
当 \(t=2\),这是 Catalan 数的 GF,于是乎依照 Catalan 的多样组合意义,你可以对 \(\mathcal B_t(x)\) 进行包括但不限于多边形划分、走折线计数、 多叉树计数等组合意义解释。这个 GF 结合拉反,能够对相关 \(\binom{tn+r}{n}\) 的求和进行有效变形。所以——
学拉格朗日反演不学广义二项级数, 就像读四大名著不读红楼梦. 说明这个人文学造诣和自我修养不足, 他理解不了这种内在的阳春白雪的高雅艺术, 他只能看到外表的辞藻堆砌, 参不透其中深奥的精神内核, 他整个人的层次就卡在这里了, 只能度过一个相对失败的人生.
整活完毕,我们来推一下 \(\mathcal B_t(x)\) 的系数。令 \(F(x)=\mathcal B_t(x)-1\) 以去掉常数项,观察发现 \(F\) 的复合逆为 \(G(x)=x(1+x)^{-t}\),那么
\mathcal [x^n]B_t^r(x) &= [x^n](1+F(x))^r\\
&= [x^0]x(1+x)^r\frac{(1+x)^t-xt(1+x)^{t-1}}{(1+x)^{2t}}\frac{(1+x)^{tn+t}}{x^{n+1}}\\
&= [x^0]x(1+x)^r\frac{1-(t-1)x}{(1+x)^{t+1}}\frac{(1+x)^{tn+t}}{x^{n+1}}\\
&= [x^n](1+x)^{tn+r-1}(1-(t-1)x)\\
&= \binom{tn+r-1}{n}-(t-1)\binom{tn+r-1}{n-1}\\
&=\frac{r}{tn+r}\binom{tn+r}{n}.
\end{aligned}
\]
其中第二步用公式 \((6)\),代入 \(H(x)=(1+x)^r\) 反演。
然后你就会说了,它这组合数带个 \(\frac{r}{tn+r}\) 的系数,格局就上不去,根本做不了题。我们来尝试弄一下 \(\sum_{n\ge 0}\binom{tn+r}{n}x^n\) 的表达式
\binom{tn+r}{n} &= [x^n](1+x)^{tn+r}\\
&= [x^0]((1+x)^t/x)^n(1+x)^r\\
&= [x^0]G^{-n}(x)(1+F(G(x)))^r\\
&= [x^0]x\cdot x^{-n}(1+F(x))^r\cdot F'(x)/F(x)\\
&= [x^n](1+F(x))^r\frac{xF'(x)}{F(x)}\\
&= [x^n](1+F(x))^r\frac{x(G'(F(x)))^{-1}}{F(x)}\\
&= [x^n](1+F(x))^r\frac{G(F(x))}{G'(F(x))F(x)}\\
&= [x^n](1+F(x))^r\frac{1+F(x)}{1-(t-1)F(x)}.
\end{aligned}
\]
神他妈的,第三步时,令 \(H(x)=x^{-n}(1+F(x))^r\) 代公式 \((6)\),居然能这么反演,我兔麻了。最后一步展开 \(G(x)\) 和 \(G'(x)\) 整理即可,不多讲。
然后是喜闻乐见的例题时间。
初步转化,枚举 \(x\),求合法方案数。当 \(x\) 确定时,方案数为
\textit{ans}_x &= \sum_{b=0}^B\sum_{r=bx}^{R-(B-b)x}\binom{r+b}{r}\binom{R-r+B-b}{R-r}\\
&= \sum_{b=0}^B\sum_{d=0}^{R-Bx}\binom{b(x+1)+d}{b}\binom{(B-b)(x+1)+R-Bx-d}{B-b}\\
&= \sum_{d=0}^{R-Bx}\sum_{b=0}^{B}\binom{b(x+1)+d}{b}\binom{(B-b)(x+1)+R-Bx-d}{B-b}.
\end{aligned}
\]
令 \(t=x+1\),你发现这个组合数 \(\binom{bt+d}{b}\) 我们好像挺会的。令 \(F(z)=\mathcal B_t(z)-1\),带入结论:
\textit{ans}_x &= \cdots\\
&= \sum_{d=0}^{R-Bx}\sum_{b=0}^B\left([z^b](1+F(z))^d\frac{1+F(z)}{1-(t-1)F(z)}\right)\left([z^{B-b}](1+F(z))^{R-Bx-d}\frac{1+F(z)}{1-(t-1)F(z)}\right)\\
&= [z^B]\sum_{d=0}^{R-Bx}(1+F(z))^{R-Bx}\left(\frac{1+F(z)}{1-(t-1)F(z)}\right)^2\\
&= (R-Bx+1)[z^B](1+F(z))^{R-Bx}\left(\frac{1+F(z)}{1-(t-1)F(z)}\right)^2.
\end{aligned}
\]
然后我们叕来一次拉反,令 \(H(z)=(1+z)^{R-Bx}\left(\frac{1+z}{1-(t-1)z}\right)^2\),反正已经有 \(F\circ G=z\),丢进去反演:
\frac{\textit{ans}_x}{R-Bx+1} &= \cdots\\
&= [z^0]zH(z)G'(z)G^{-B-1}(z)\\
&= [z^0]z(1+z)^{R-Bx}\left(\frac{1+z}{1-(t-1)z}\right)^2\frac{1-(t-1)z}{(1+z)^{t+1}}\frac{(1+z)^{Bt+B}}{z^{n+1}}\\
&= [z^B]\frac{(1+z)^{R+1-t+B}}{1-(t-1)z}\\
&= [z^B]\frac{(1+z)^{R+B+1}}{1-xz}\\
&= \sum_{i=0}^B\binom{R+B+1}{i}x^{B-i}.
\end{aligned}
\]
最终,答案就是
\textit{ans} &= \sum_{x=1}^{R/B}(R-Bx+1)\sum_{i=0}^B\binom{R+B+1}{i}x^{B-i}\\
&= \sum_{i=0}^B\binom{R+B+1}{i}\left((R+1)\sum_{x=1}^{R/B}x^{B-i}-B\sum_{x=1}^{R/B}x^{B-i+1}\right).
\end{aligned}
\]
于是乎求一堆范围固定,上指标可变的自然数幂和即可。
为了水篇幅我们来推一下这题自然数幂和的求法。令 \(f_k=\sum_{i=0}^ni^k\),并令其 EGF 为 \(F(z)\),那么
F(z) &= \sum_{i\ge0}\frac{z^i}{i!}\sum_{j=0}^nj^i\\
&= \sum_{j=0}^n\sum_{i\ge0}\frac{j^iz^i}{i!}\\
&= \sum_{j=0}^ne^{jz}\\
&= \frac{1-e^{(n+1)z}}{1-e^z}.
\end{aligned}
\]
分子分母约一个 \(z\),多项式求逆求出 \(F(z)\bmod z^{B+2}\) 即可。复杂度 \(\mathcal O(B\log B)\)。
Note -「广义二项级数」浅赏的更多相关文章
- Note -「Lagrange 插值」学习笔记
目录 问题引入 思考 Lagrange 插值法 插值过程 代码实现 实际应用 「洛谷 P4781」「模板」拉格朗日插值 「洛谷 P4463」calc 题意简述 数据规模 Solution Step 1 ...
- Note -「动态 DP」学习笔记
目录 「CF 750E」New Year and Old Subsequence 「洛谷 P4719」「模板」"动态 DP" & 动态树分治 「洛谷 P6021」洪水 「S ...
- Note -「单位根反演」学习笔记
\(\mathcal{Preface}\) 单位根反演,顾名思义就是用单位根变换一类式子的形式.有关单位根的基本概念可见我的这篇博客. \(\mathcal{Formula}\) 单位根反演的 ...
- Note -「Mobius 反演」光速入门
目录 Preface 数论函数 积性函数 Dirichlet 卷积 Dirichlet 卷积中的特殊函数 Mobius 函数 & Mobius 反演 Mobius 函数 Mobius 反演 基 ...
- Note -「Min_25 筛」“你就说这素因子你要不要吧?你要不要?”
赛上想写,Track Lost 了属于是. \(\mathscr{Intro}\) Min_25 筛是用于求积性函数前缀和,同时顺带求出一些"有意思"的信息的筛法. 一 ...
- Note -「多项式」基础模板(FFT/NTT/多模 NTT)光速入门
进阶篇戳这里. 目录 何为「多项式」 基本概念 系数表示法 & 点值表示法 傅里叶(Fourier)变换 概述 前置知识 - 复数 单位根 快速傅里叶正变换(FFT) 快速傅里叶逆变换(I ...
- Note -「圆方树」学习笔记
目录 圆方树的定义 圆方树的构造 实现 细节 圆方树的运用 「BZOJ 3331」压力 「洛谷 P4320」道路相遇 「APIO 2018」「洛谷 P4630」铁人两项 「CF 487E」Touris ...
- Note -「Dijkstra 求解 MCMF」
食用前请先了解 SPFA + Dinic/EK 求解 MCMF. Sol. 总所周知,SPFA 牺牲了.于是我们寻求一些更稳定的算法求解 MCMF. 网络流算法的时间属于玄学,暂且判定为混乱中的稳定. ...
- fir.im Weekly - 如何打造 Github 「爆款」开源项目
最近 Android 转用 Swift 的传闻甚嚣尘上,Swift 的 Github 主页上已经有了一次 merge>>「Port to Android」,让我们对 Swift 的想象又多 ...
- NLP领域的ImageNet时代到来:词嵌入「已死」,语言模型当立
http://3g.163.com/all/article/DM995J240511AQHO.html 选自the Gradient 作者:Sebastian Ruder 机器之心编译 计算机视觉领域 ...
随机推荐
- python操作pptx设置title字体大小插入全屏图片A4尺寸实例一枚
pip install python-pptx 安装好pptx,设置标题最大的作用是ppt里面的摘要视图显示摘要文字 参考:https://python-pptx.readthedocs.io/en/ ...
- python实现基于RPC协议的接口自动化测试
01什么是RPC RPC(Remote Procedure Call)远程过程调用协议是一个用于建立适当框架的协议.从本质上讲,它使一台机器上的程序能够调用另一台机器上的子程序,而不会意识到它是远程的 ...
- 每秒550万亿次算力!打破世界纪录!中国造全球首例纯电驱全尺寸人形机器人!直击全球最快人形机器人“天工”The world's first purely electric humanoid robot
地址: https://www.youtube.com/watch?v=uRc-885NpD4
- 揭秘!Vue3.5响应式重构如何让内存占用减少56%
前言 Vue3.5版本又将响应式给重构了,重构后的响应式系统主要有两部分组成: 双向链表和 版本计数.我们在前两篇文章中我们已经讲过了 双向链表和 版本计数,这篇文章我们来讲讲为什么这次重构能够让内存 ...
- Postman接口测试应用
接口测试可以通过工具(postman/jmeter).自动化测试(python+requests+开源框架)两种方式进行测试 接口测试可以在单元测试之后开始进行,不用关注前端页面有没有形成,也可以渗透 ...
- linux 自动输入密码脚本避免密码确认
有时候需要执行一个小脚本,就把一部分命令集合起来,我们可以使用 && 或者 .sh 脚本换行. 而有些时候涉及权限需要输入密码就出现了一些客户端会卡在输密码的界面让用户输入 脚本会暂停 ...
- Python中dict支持多个key的方法
在Python中,字典(dict)是一种非常强大的数据结构,它允许我们通过键(key)来存储和检索值(value).有时候,我们可能想要根据多个键来检索或操作字典中的数据.虽然Python的字典不直接 ...
- npm报错error:0308010C:digital envelope routines::unsupported
error:0308010C:digital envelope routines::unsupported 出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而Open ...
- npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本
升级node和npm之后,npm run dev 启动一个Vue项目,报错如下: npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本. ...
- Redis集群搭建-Docker
使用docker搭建本地集群Redis服务(参考:https://www.cnblogs.com/slowbirdoflsh/p/11633113.html) 环境配置 # 拉取redis镜像 doc ...