当我在网上查找关于二项式反演的博客时, 总是只看到两个公式, 一个原式, 一个推论(1), 所以这篇博客主要是引出推论(2), 并且将其证明。
原式:
f(n)=n∑i=0(ni)g(i)⇔g(n)=n∑i=0(−1)n−i(ni)f(i)
推论(1):
f(n)=n∑i=m(ni)g(i)⇔g(n)=n∑i=m(−1)n−i(ni)f(i)
这两个式子网上很多人证明, 这里也就不证了。
最关键的, 还是最后一个式子。
推论(2):
f(n)=m∑i=n(in)g(i)⇔g(n)=m∑i=n(−1)i−n(in)f(i)
证明:
f(n)=m∑i=n(in)g(i)⇔g(n)=m∑i=n(−1)i−n(in)f(i)
若原式正确, 则有
g(n)=m∑i=n(−1)i−n(in)f(i)⇔g(n)=m∑i=n(−1)i−n(in)m∑j=i(ji)g(j)
∴g(n)=m∑i=n(−1)i−n(in)m∑j=i(ji)g(j)
=m∑i=nm∑j=i(−1)i−n(in)(ji)g(j)
=m∑j=nj∑i=n(−1)i−n(in)(ji)g(j)
=m∑j=ng(j)j∑i=n(−1)i−n(in)(ji)
=m∑j=ng(j)j∑i=n(−1)i−n(in)(ji)
=m∑j=ng(j)j∑i=n(−1)i−ni!n!(i−n)!j!i!(j−i)!
=m∑j=ng(j)j∑i=n(−1)i−n1n!(i−n)!j!(j−i)!
=m∑j=ng(j)j∑i=n(−1)i−n(j−n)!n!(i−n)!j!(j−i)!(j−n)!
=m∑j=ng(j)j∑i=n(−1)i−n(j−n)!(j−i)!(i−n)!j!n!(j−n)!
=m∑j=ng(j)j∑i=n(−1)i−n(j−ni−n)(jn)
=m∑j=ng(j)(jn)j∑i=n(−1)i−n(j−ni−n)
=m∑j=ng(j)(jn)j−n∑i=0(−1)i(j−ni)
设k=j−n
g(n)=m∑j=ng(j)(jn)k∑i=0(−1)i(ki)
又∵k∑i=0(−1)i(ki)={0,k≠0,1,k=0.
∴当且仅当k=0,即j=n时k∑i=0(−1)i(ki)=1
∴g(n)=g(n)(nn)=g(n)
∴原命题显然成立
至此, 二项式反演的三个式子都弄完了, 至于第三个式子的应用。。。
找到了
__EOF__
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!